NT4/private/crt32/h/v2tov3.h
2020-09-30 17:12:29 +02:00

75 lines
1.9 KiB
C

/***
*v2tov3.h - macros for porting MS C v.2 to v.3 and later
*
* Copyright (c) 1985-1990, Microsoft Corporation. All rights reserved.
*
*Purpose:
* This file defines macros which can be used to ease the problems
* of porting MS C version 2.0 programs to MS C versions 3.0 and later.
* [Internal]
*
*Revision History:
* 08-15-89 GJF Fixed copyright
* 10-30-89 GJF Fixed copyright (again)
* 03-02-90 GJF Added #ifndef _INC_V2TOV3 stuff
*
****/
#ifndef _INC_V2TOV3
/* macro to translate the names used to force binary mode for files */
#define O_RAW O_BINARY
/* macro to translate setnbuf calls to the equivalent setbuf call */
#define setnbuf(stream) setbuf(stream, NULL)
/* macro to translate stclen calls to the equivalent strlen call */
#define stclen(s) strlen(s)
/* macro to translate stscmp calls to the equivalent strcmp call */
#define stscmp(s,t) strcmp(s,t)
/* macro to translate stpchr calls to the equivalent strchr call */
#define stpchr(s,c) strchr(s,c)
/* macro to translate stpbrk calls to the equivalent strpbrk call */
#define stpbrk(s,b) strpbrk(s,b)
/* macro to translate stcis calls to the equivalent strspn call */
#define stcis(s1,s2) strspn(s1,s2)
/* macro to translate stcisn calls to the equivalent strcspn call */
#define stcisn(s1,s2) strcspn(s1,s2)
/* macro to translate setmem calls to the equivalent memset call */
#define setmem(p, n, c) memset(p, c, n)
/* macro to translate movmem calls to the equivalent memcpy call */
#define movmem(s, d, n) memcpy(d, s, n)
/* MS C version 2.0 min, max, and abs macros */
#define max(a,b) (((a) > (b)) ? (a) : (b))
#define min(a,b) (((a) < (b)) ? (a) : (b))
#define abs(a) (((a) < 0) ? -(a) : (a))
/* macros which implement MS C version 2.0's extended ctype macros, iscym and
* iscysmf
*/
#define iscsymf(c) (isalpha(c) || ((c) == '_'))
#define iscsym(c) (isalnum(c) || ((c) == '_'))
#define _INC_V2TOV3
#endif /* _INC_V2TOV3 */