00001
00021 #ifndef INC_MI32_STRING_H
00022 #define INC_MI32_STRING_H
00023
00024 #ifndef INC_STRING_H
00025 #ifndef GENERATING_DOXYGEN_OUTPUT
00026 #include <string.h>
00027 #define INC_STRING_H
00028 #endif
00029 #endif
00030
00031 #ifndef GENERATING_DOXYGEN_OUTPUT
00032
00033 #if defined(__cplusplus)
00034 extern "C" {
00035 #endif
00036
00037 #if defined(WIN32)
00038 #if __STDC__ && _MSC_VER >= 1200
00039
00040 #define stricmp _stricmp
00041 #define strlwr _strlwr
00042 #define strupr _strupr
00043 #define strnicmp _strnicmp
00044 #define strdup _strdup
00045 #endif
00046
00047 #else // !WIN32
00048
00049 #if defined(SUN)
00050 char *strdup (const char*);
00051 #endif
00052
00053 char *strupr(char *);
00054 char *strlwr(char *);
00055
00056 #if defined(UNIX)
00057
00058 #include <strings.h>
00059
00060 #if defined(__cplusplus)
00061 inline int stricmp (
00062 const char*const s1,
00063 const char*const s2
00064 ) { return (strcasecmp(s1, s2)); }
00065
00066 inline int strnicmp (
00067 const char*const s1,
00068 const char*const s2,
00069 int n
00070 ) { return (strncasecmp(s1, s2, n)); }
00071 #else
00072 #define stricmp strcasecmp
00073 #define strnicmp strncasecmp
00074 #endif
00075
00076 #else
00077 int stricmp (const char*const, const char*const);
00078 int strnicmp (const char*const, const char*const, int);
00079 #endif
00080
00081 #endif // !WIN32
00082
00083 #if defined(__cplusplus)
00084 }
00085 #endif
00086
00087 #endif // GENERATING_DOXYGEN_OUTPUT
00088
00089 #endif // INC_MI32_STRING_H