|
|
/*******************************************************************************
nocrt.h - C Runtime headers for those who are lazy...
Owner: Mikel Created: 5 Dec 94 *******************************************************************************/
#ifndef _NOCRT_H_
#define _NOCRT_H_
#define _INC_STDLIB // force stdlib.h not to be included
#define _INC_STRING // same with string.h
#define _CTYPE_DISABLE_MACROS // same with ctype macros
#define _CTYPE_DEFINED
#define _INC_ERRNO
#define _INC_STDDEF
#define ERANGE 34 // used in errno for overflow
/* Redefined C runtime calls. Couldn't do it for FillBuf though
*/ #define isalpha(c) IsCharAlpha(c)
#define isalnum(c) IsCharAlphaNumeric(c)
#define isdigit(c) (IsCharAlphaNumeric(c) && !IsCharAlpha(c))
#define isupper(c) IsCharUpper(c)
#define memmove(m1, m2, n) MoveMemory(m1, m2, n)
#define strcat(s1, s2) lstrcat(s1, s2)
#define strcpy(d, s) lstrcpy(d, s)
#define strcmp(s1, s2) lstrcmp(s1, s2)
#define stricmp(s1, s2) lstrcmpi(s1, s2)
#define strlen(s) lstrlen(s)
#define strncpy(s1, s2, n) StrCpyN(s1, s2, n)
#define tolower(c) ((TCHAR) CharLower((LPTSTR)MAKELONG(c, 0)))
#define toupper(c) ((TCHAR) CharUpper((LPTSTR)MAKELONG(c, 0)))
#define strncmp(s1, s2, n) StrCmpN(s1, s2, n)
#define atoi(s1) StrToInt(s1)
#ifndef __cplusplus
/* These are defined in nocrt2.h for C++. Weird.
*/ #define MsoIsEqualGuid(g1, g2) \
(!StrCmpNA((const CHAR *)g1, (const CHAR *)g2, sizeof(GUID))) #define MsoIsEqualIid(i1, i2) \
MsoIsEqualGuid(i1, i2) #define MsoIsEqualClsid(c1, c2) \
MsoIsEqualGuid(c1, c2) #endif
/* Runtimes we have to write ourselves, can't use Windows */ #include <ctype.h> // get wchar_t defined
int isspace(int); #ifdef UNICODE
long strtol(const wchar_t *, wchar_t **, int); #else
long strtol(const char *, char **, int); #endif
/* Use this function instead of a bunch of strtok()s */ #ifdef UNICODE
int ScanDateNums(wchar_t *, wchar_t *, unsigned int [], int, int); #else
int ScanDateNums(char *, char *, unsigned int [], int, int); #endif
/* Needed to fake out IsEqualGUID() macro */ #include <memory.h>
#ifndef WINNT
#pragma intrinsic(memcmp)
#endif
extern int errno; #endif // _NOCRT_H_
|