4.4BSD/usr/src/contrib/mkmf/src/macro.h
/*
* Copyright (c) 1983, 1985, 1991 Peter J. Nicklin.
* Copyright (c) 1991 Version Technology.
* All Rights Reserved.
*
* $License: VT.1.1 $
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met: (1) Redistributions of source code must retain the above
* copyright notice, this list of conditions and the following
* disclaimer. (2) Redistributions in binary form must reproduce the
* above copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution. (3) All advertising materials mentioning
* features or use of this software must display the following
* acknowledgement: ``This product includes software developed by
* Version Technology.'' Neither the name of Version Technology nor
* the name of Peter J. Nicklin may be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY VERSION TECHNOLOGY ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL VERSION TECHNOLOGY BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
* OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
*
* Report problems and direct questions to nicklin@netcom.com
*
* $Header: macro.h,v 4.4 91/11/25 19:45:47 nicklin Exp $
*
* General macro function definitions
*
* Author: Peter J. Nicklin
*/
#include "stringx.h"
#undef CHDIR
#define CHDIR(d) \
(chdir(d) == 0) /* change directory */
#undef DOTDIR
#define DOTDIR(dp) \
(dp->d_name[0] == '.' && dp->d_name[1] == '\0')
/* current directory? */
#undef DOTDOTDIR
#define DOTDOTDIR(dp) \
(dp->d_name[0] == '.' && dp->d_name[1] == '.' && dp->d_name[2] == '\0')
/* parent directory? */
#undef EQUAL
#define EQUAL(s1,s2) \
(strcmp(s1,s2) == 0) /* string comparison */
#undef MIN
#define MIN(a,b) \
(((a) < (b)) ? (a) : (b)) /* minimum of two values */
#undef MAX
#define MAX(a,b) \
(((a) > (b)) ? (a) : (b)) /* maximum of two values */
#ifndef S_ISDIR
#define S_ISDIR(m) \
((m & S_IFMT) == S_IFDIR) /* test for directory */
#endif
#undef WHITESPACE
#define WHITESPACE(c) \
(c == ' ' || c == '\t') /* unseen space in a file */