--- mstools/h/string.h 2018/08/09 18:20:28 1.1.1.2 +++ mstools/h/string.h 2018/08/09 18:21:05 1.1.1.3 @@ -17,12 +17,38 @@ extern "C" { #endif -#ifndef MIPS -#if (_MSC_VER <= 600) -#define __cdecl _cdecl -#endif +/* + * Conditional macro definition for function calling type and variable type + * qualifiers. + */ +#if ( (_MSC_VER >= 800) && (_M_IX86 >= 300) ) + +/* + * Definitions for MS C8-32 (386/486) compiler + */ +#define _CRTAPI1 __cdecl +#define _CRTAPI2 __cdecl + +#elif ( _MSC_VER == 600 ) + +/* + * Definitions for old MS C6-386 compiler + */ +#define _CRTAPI1 _cdecl +#define _CRTAPI2 _cdecl +#define _M_IX86 300 + +#else + +/* + * Other compilers (e.g., MIPS) + */ +#define _CRTAPI1 +#define _CRTAPI2 + #endif + #ifndef _SIZE_T_DEFINED typedef unsigned int size_t; #define _SIZE_T_DEFINED @@ -48,75 +74,76 @@ typedef unsigned short wchar_t; /* function prototypes */ -void * _memccpy(void *, const void *, int, unsigned int); -void * memchr(const void *, int, size_t); -int memcmp(const void *, const void *, size_t); -int _memicmp(const void *, const void *, unsigned int); -void * memcpy(void *, const void *, size_t); -void * memmove(void *, const void *, size_t); -void * memset(void *, int, size_t); -char * strcat(char *, const char *); -char * strchr(const char *, int); -int strcmp(const char *, const char *); -int _strcmpi(const char *, const char *); -int _stricmp(const char *, const char *); -int strcoll(const char *, const char *); +void * _CRTAPI1 _memccpy(void *, const void *, int, unsigned int); +void * _CRTAPI1 memchr(const void *, int, size_t); +int _CRTAPI1 memcmp(const void *, const void *, size_t); +int _CRTAPI1 _memicmp(const void *, const void *, unsigned int); +void * _CRTAPI1 memcpy(void *, const void *, size_t); +void * _CRTAPI1 memmove(void *, const void *, size_t); +void * _CRTAPI1 memset(void *, int, size_t); +char * _CRTAPI1 strcat(char *, const char *); +char * _CRTAPI1 strchr(const char *, int); +int _CRTAPI1 strcmp(const char *, const char *); +int _CRTAPI1 _strcmpi(const char *, const char *); +int _CRTAPI1 _stricmp(const char *, const char *); +int _CRTAPI1 strcoll(const char *, const char *); #ifdef _MAC_ -char * _c2pstr(const char *); -char * _p2cstr(const char *); +char * _CRTAPI1 _c2pstr(const char *); +char * _CRTAPI1 _p2cstr(const char *); #endif -int _stricoll(const char *, const char *); -char * strcpy(char *, const char *); -size_t strcspn(const char *, const char *); -char * _strdup(const char *); -char * _strerror(const char *); -char * strerror(int); -size_t strlen(const char *); -char * _strlwr(char *); -char * strncat(char *, const char *, size_t); -int strncmp(const char *, const char *, size_t); -int _strnicmp(const char *, const char *, size_t); -char * strncpy(char *, const char *, size_t); -char * _strnset(char *, int, size_t); -char * strpbrk(const char *, const char *); -char * strrchr(const char *, int); -char * _strrev(char *); -char * _strset(char *, int); -size_t strspn(const char *, const char *); -char * strstr(const char *, const char *); -char * strtok(char *, const char *); -char * _strupr(char *); -size_t strxfrm (char *, const char *, size_t); +int _CRTAPI1 _stricoll(const char *, const char *); +char * _CRTAPI1 strcpy(char *, const char *); +size_t _CRTAPI1 strcspn(const char *, const char *); +char * _CRTAPI1 _strdup(const char *); +char * _CRTAPI1 _strerror(const char *); +char * _CRTAPI1 strerror(int); +size_t _CRTAPI1 strlen(const char *); +char * _CRTAPI1 _strlwr(char *); +char * _CRTAPI1 strncat(char *, const char *, size_t); +int _CRTAPI1 strncmp(const char *, const char *, size_t); +int _CRTAPI1 _strnicmp(const char *, const char *, size_t); +char * _CRTAPI1 strncpy(char *, const char *, size_t); +char * _CRTAPI1 _strnset(char *, int, size_t); +char * _CRTAPI1 strpbrk(const char *, const char *); +char * _CRTAPI1 strrchr(const char *, int); +char * _CRTAPI1 _strrev(char *); +char * _CRTAPI1 _strset(char *, int); +size_t _CRTAPI1 strspn(const char *, const char *); +char * _CRTAPI1 strstr(const char *, const char *); +char * _CRTAPI1 strtok(char *, const char *); +char * _CRTAPI1 _strupr(char *); +size_t _CRTAPI1 strxfrm (char *, const char *, size_t); #ifndef _WSTRING_DEFINED -wchar_t * wcscat(wchar_t *, const wchar_t *); -wchar_t * wcschr(const wchar_t *, wchar_t); -int wcscmp(const wchar_t *, const wchar_t *); -wchar_t * wcscpy(wchar_t *, const wchar_t *); -size_t wcscspn(const wchar_t *, const wchar_t *); -size_t wcslen(const wchar_t *); -wchar_t * wcsncat(wchar_t *, const wchar_t *, size_t); -int wcsncmp(const wchar_t *, const wchar_t *, size_t); -wchar_t * wcsncpy(wchar_t *, const wchar_t *, size_t); -wchar_t * wcspbrk(const wchar_t *, const wchar_t *); -wchar_t * wcsrchr(const wchar_t *, wchar_t); -size_t wcsspn(const wchar_t *, const wchar_t *); -wchar_t * wcsstr(const wchar_t *, const wchar_t *); - -wchar_t * _wcsdup(const wchar_t *); -int _wcsicmp(const wchar_t *, const wchar_t *); -int _wcsnicmp(const wchar_t *, const wchar_t *, size_t); -wchar_t * _wcsnset(wchar_t *, wchar_t, size_t); -wchar_t * _wcsrev(wchar_t *); -wchar_t * _wcsset(wchar_t *, wchar_t); - -wchar_t * _wcslwr(wchar_t *); -wchar_t * _wcsupr(wchar_t *); -size_t wcsxfrm(wchar_t *, const wchar_t *, size_t); -int wcscoll(const wchar_t *, const wchar_t *); -int _wcsicoll(const wchar_t *, const wchar_t *); +wchar_t * _CRTAPI1 wcscat(wchar_t *, const wchar_t *); +wchar_t * _CRTAPI1 wcschr(const wchar_t *, wchar_t); +int _CRTAPI1 wcscmp(const wchar_t *, const wchar_t *); +wchar_t * _CRTAPI1 wcscpy(wchar_t *, const wchar_t *); +size_t _CRTAPI1 wcscspn(const wchar_t *, const wchar_t *); +size_t _CRTAPI1 wcslen(const wchar_t *); +wchar_t * _CRTAPI1 wcsncat(wchar_t *, const wchar_t *, size_t); +int _CRTAPI1 wcsncmp(const wchar_t *, const wchar_t *, size_t); +wchar_t * _CRTAPI1 wcsncpy(wchar_t *, const wchar_t *, size_t); +wchar_t * _CRTAPI1 wcspbrk(const wchar_t *, const wchar_t *); +wchar_t * _CRTAPI1 wcsrchr(const wchar_t *, wchar_t); +size_t _CRTAPI1 wcsspn(const wchar_t *, const wchar_t *); +wchar_t * _CRTAPI1 wcsstr(const wchar_t *, const wchar_t *); +wchar_t * _CRTAPI1 wcstok(wchar_t *, const wchar_t *); + +wchar_t * _CRTAPI1 _wcsdup(const wchar_t *); +int _CRTAPI1 _wcsicmp(const wchar_t *, const wchar_t *); +int _CRTAPI1 _wcsnicmp(const wchar_t *, const wchar_t *, size_t); +wchar_t * _CRTAPI1 _wcsnset(wchar_t *, wchar_t, size_t); +wchar_t * _CRTAPI1 _wcsrev(wchar_t *); +wchar_t * _CRTAPI1 _wcsset(wchar_t *, wchar_t); + +wchar_t * _CRTAPI1 _wcslwr(wchar_t *); +wchar_t * _CRTAPI1 _wcsupr(wchar_t *); +size_t _CRTAPI1 wcsxfrm(wchar_t *, const wchar_t *, size_t); +int _CRTAPI1 wcscoll(const wchar_t *, const wchar_t *); +int _CRTAPI1 _wcsicoll(const wchar_t *, const wchar_t *); -// old names +/* old names */ #define wcswcs wcsstr #define _WSTRING_DEFINED