--- mstools/h/string.h 2018/08/09 18:20:01 1.1.1.1 +++ mstools/h/string.h 2018/08/09 18:22:59 1.1.1.4 @@ -1,7 +1,7 @@ /*** *string.h - declarations for string manipulation functions * -* Copyright (c) 1985-1991, Microsoft Corporation. All rights reserved. +* Copyright (c) 1985-1993, Microsoft Corporation. All rights reserved. * *Purpose: * This file contains the function declarations for the string @@ -17,10 +17,29 @@ extern "C" { #endif -#if (_MSC_VER <= 600) -#define __cdecl _cdecl +/* + * 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 + +#else + +/* + * Other compilers (e.g., MIPS) + */ +#define _CRTAPI1 +#define _CRTAPI2 + #endif + #ifndef _SIZE_T_DEFINED typedef unsigned int size_t; #define _SIZE_T_DEFINED @@ -46,40 +65,80 @@ 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 strcoll(const char *, const char *); -int _stricmp(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); +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 * _CRTAPI1 _c2pstr(const char *); +char * _CRTAPI1 _p2cstr(const char *); +#endif +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 * _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 */ +#define wcswcs wcsstr + +#define _WSTRING_DEFINED +#endif #if !__STDC__ /* Non-ANSI names for compatibility */ @@ -94,7 +153,23 @@ size_t strxfrm (char *, const char *, si #define strrev _strrev #define strset _strset #define strupr _strupr -#endif +#define stricoll _stricoll + +#ifdef _MAC_ +#define c2pstr _c2pstr +#define p2cstr _p2cstr +#endif + +#define wcsdup _wcsdup +#define wcsicmp _wcsicmp +#define wcsnicmp _wcsnicmp +#define wcsnset _wcsnset +#define wcsrev _wcsrev +#define wcsset _wcsset +#define wcslwr _wcslwr +#define wcsupr _wcsupr +#define wcsicoll _wcsicoll +#endif /* !__STDC__ */ #ifdef __cplusplus }