// cmdlib.h #ifndef __CMDLIB__ #define __CMDLIB__ #include #include #include #include #include #include #include "zstring.h" template char(&_ArraySizeHelper(T(&array)[N]))[N]; #define countof( array ) (sizeof( _ArraySizeHelper( array ) )) // the dec offsetof macro doesnt work very well... #define myoffsetof(type,identifier) ((size_t)&((type *)alignof(type))->identifier - alignof(type)) bool FileExists (const char *filename); bool DirExists(const char *filename); bool DirEntryExists (const char *pathname, bool *isdir = nullptr); extern FString progdir; void DefaultExtension (FString &path, const char *extension); FString ExtractFilePath (const char *path); FString ExtractFileBase (const char *path, bool keep_extension=false); struct FScriptPosition; bool IsNum (const char *str); // [RH] added bool CheckWildcards (const char *pattern, const char *text); int strbin (char *str); FString strbin1 (const char *start); void CreatePath(const char * fn); FString ExpandEnvVars(const char *searchpathstring); FString NicePath(const char *path); struct FFileList { FString Filename; bool isDirectory; }; bool IsAbsPath(const char*); #endif