// // aegis - project change supervisor // Copyright (C) 1996, 1998, 2002, 2004-2006, 2008 Peter Miller // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see // . // #ifndef COMMON_AC_WCTYPE_H #define COMMON_AC_WCTYPE_H // // Often needed, if is implemented in terms of . // Not strictly ANSI C standard conforming. // #include // // Often needed, particularly to implement the dummy functions if real // ones aren't present. Not strictly ANSI C standard conforming. // #include // Solaris bug 1250837: include wchar.h before widec.h #include // // Silicon Graphics // #if HAVE_WIDEC_H #include #endif #if HAVE_WCTYPE_H #include #endif // // The ANSI C standard states that wint_t symbol shall be defined by // and . The GNU people also define it in , // but this is incorrect. // #ifndef HAVE_WINT_T #define HAVE_WINT_T 1 typedef wchar_t wint_t; #endif #if !HAVE_WCTYPE_H #include int iswalnum(wint_t); int iswdigit(wint_t); int iswlower(wint_t); int iswprint(wint_t); int iswpunct(wint_t); int iswspace(wint_t); int iswupper(wint_t); wint_t towlower(wint_t); wint_t towupper(wint_t); #endif // // HAVE_ISWPRINT is only set if (a) there is a have_iswprint function, // and (b) it works for ascii. It is assumed that if iswprint is absent // or brain-dead, then so are the rest. // // This code copes with the case where (a) it exists, (b) it is broken, // and (c) it is defined in // #if !HAVE_ISWPRINT #ifdef iswprint #undef iswprint #endif #ifdef iswspace #undef iswspace #endif #ifdef iswpunct #undef iswpunct #endif #ifdef iswupper #undef iswupper #endif #ifdef iswlower #undef iswlower #endif #ifdef iswdigit #undef iswdigit #endif #ifdef iswalnum #undef iswalnum #endif #ifdef towupper #undef towupper #endif #ifdef towlower #undef towlower #endif #endif // !HAVE_ISWPRINT #endif // COMMON_AC_WCTYPE_H