ctype.h revision fb1577165c2484615adf8f15523c01f4b10b49e7
/** @file
* innotek Portable Runtime - ctype.h wrapper and C locale variants.
*/
/*
* Copyright (C) 2006-2007 innotek GmbH
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License as published by the Free Software Foundation,
* in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
* distribution. VirtualBox OSE is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY of any kind.
*/
#ifndef ___iprt_ctype_h
#define ___iprt_ctype_h
#ifdef IN_RING3
# include <ctype.h>
/* isblank for MSC */
# endif
#endif /* IN_RING3 */
/** @name C locale macros.
*
* @remarks The macros may reference the character more than once.
* @remarks Assumes a charset similar to ASCII.
* @remarks Can probably be optimized if someone has time.
* @{ */
#define RT_C_IS_PUNCT(ch) ( (ch) == ',' || (ch) == '.' || (ch) == ':' || (ch) == ';' || (ch) == '!' || (ch) == '?' ) /**< @todo possibly incorrect */
#define RT_C_IS_SPACE(ch) ( (ch) == ' ' || (ch) == '\t' || (ch) == '\n' || (ch) == '\r' || (ch) == '\f' || (ch) == '\v' )
#define RT_C_IS_XDIGIT(ch) ( RT_C_IS_DIGIT(ch) || ((ch) >= 'a' && (ch) <= 'f') || ((ch) >= 'A' && (ch) <= 'F') )
/** @} */
#endif