00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __fstrdefs__
00025 #define __fstrdefs__
00026
00027
00028
00029
00030 #if UNICODE
00031 #define STRING(x) L#x
00032 #define tstrcpy wcscpy
00033 #define tstrncpy wcsncpy
00034 #define tstrlen wcslen
00035 #define tstrcmp wcscmp
00036 #define tstrncmp wcsncmp
00037 #define tstricmp wcsicmp
00038 #define tstrnicmp wcsnicmp
00039 #define tstrchr wcschr
00040 #define tstrrchr wcsrchr
00041 #define tsprintf wsprintf
00042 #define tsnprintf snwprintf
00043 #define tvsnprintf vsnwprintf
00044 #define tvsprintf wvsprintf
00045 #define tvfprintf vfwprintf
00046 #define tsscanf swscanf
00047 #define ttoupper towupper
00048 #define ttolower towlower
00049 #define tisupper iswupper
00050 #define tislower iswlower
00051 #define tisspace iswspace
00052 #define tisalpha iswalpha
00053 #define tisdigit iswdigit
00054 #define tisalnum iswalnum
00055 #define tstrstr wcsstr
00056 #define tStrBufferSize(buffer) (sizeof(buffer)/sizeof(tchar))
00057 #else
00058 #define STRING(x) x
00059 #define tstrcpy strcpy
00060 #define tstrncpy strncpy
00061 #define tstrlen (uint32)strlen
00062 #define tstrcmp strcmp
00063 #define tstrncmp strncmp
00064 #define tstricmp stricmp
00065 #define tstrnicmp strnicmp
00066 #define tstrchr strchr
00067 #define tstrrchr strrchr
00068 #define tsprintf sprintf
00069 #define tsnprintf snprintf
00070 #define tvsnprintf vsnprintf
00071 #define tvsprintf vsprintf
00072 #define tvfprintf vfprintf
00073 #define tsscanf sscanf
00074 #define ttoupper toupper
00075 #define ttolower tolower
00076 #define tisupper isupper
00077 #define tislower islower
00078 #define tisspace isspace
00079 #define tisalpha isalpha
00080 #define tisalnum isalnum
00081 #define tisdigit isdigit
00082 #define tstrstr strstr
00083 #define tStrBufferSize(buffer) (sizeof(buffer))
00084 #endif
00085
00086
00087 #if WINDOWS
00088 #define tstrtoi64 _strtoi64
00089 #define stricmp _stricmp
00090 #define strnicmp _strnicmp
00091 #define snprintf _snprintf
00092 #define vsnprintf _vsnprintf
00093 #define snwprintf _snwprintf
00094 #define vsnwprintf _vsnwprintf
00095
00096 #define FORMAT_INT64 "I64d"
00097 #define FORMAT_UINT64 "I64u"
00098
00099 #elif MAC
00100 #define tstrtoi64 strtoll
00101 #define stricmp strcasecmp
00102 #define strnicmp strncasecmp
00103 #define FORMAT_INT64 "lld"
00104 #define FORMAT_UINT64 "llu"
00105 #endif
00106
00107 #if !MAC
00108 #define iswblank iswspace
00109 #endif
00110
00111
00112
00113 #if WINDOWS
00114 #define ENDLINE "\r\n"
00115 #elif MAC
00116 #define ENDLINE "\r"
00117 #elif MOTIF || BEOS
00118 #define ENDLINE "\n"
00119 #endif
00120
00121
00122 namespace Steinberg {
00123
00124 inline bool strEmpty (const tchar* str) { return (!str || *str == 0); }
00125 }
00126
00127 #endif