Mercurial > hg > octave-kai > gnulib-hg
changeset 13958:eaaa26453720
wctype: Make it work in C++ mode on OSF/1 5.1.
* lib/wctype.in.h (iswblank): Declare but not define here.
* lib/iswblank.c: New file, extracted from lib/wctype.in.h.
* m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
* modules/wctype (Files): Add lib/iswblank.c.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Mon, 20 Dec 2010 02:18:07 +0100 |
parents | 4efda5bffbf3 |
children | 363040041ced |
files | ChangeLog lib/iswblank.c lib/wctype.in.h m4/wctype_h.m4 modules/wctype |
diffstat | 5 files changed, 49 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2010-12-19 Bruno Haible <bruno@clisp.org> + + wctype: Make it work in C++ mode on OSF/1 5.1. + * lib/wctype.in.h (iswblank): Declare but not define here. + * lib/iswblank.c: New file, extracted from lib/wctype.in.h. + * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed. + * modules/wctype (Files): Add lib/iswblank.c. + 2010-12-19 Bruno Haible <bruno@clisp.org> signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
new file mode 100644 --- /dev/null +++ b/lib/iswblank.c @@ -0,0 +1,27 @@ +/* Test wide character for being blank. + Copyright (C) 2008-2010 Free Software Foundation, Inc. + + 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 2, 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, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#include <config.h> + +/* Specification. */ +#include <wctype.h> + +int +iswblank (wint_t wc) +{ + return wc == ' ' || wc == '\t'; +}
--- a/lib/wctype.in.h +++ b/lib/wctype.in.h @@ -284,18 +284,10 @@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define iswblank rpl_iswblank # endif -# endif - -static inline int -# if @REPLACE_ISWBLANK@ -rpl_iswblank +extern int rpl_iswblank (wint_t wc); # else -iswblank +extern int iswblank (wint_t wc); # endif - (wint_t wc) -{ - return wc == ' ' || wc == '\t'; -} #endif
--- a/m4/wctype_h.m4 +++ b/m4/wctype_h.m4 @@ -1,4 +1,4 @@ -# wctype_h.m4 serial 8 +# wctype_h.m4 serial 9 dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it. @@ -82,4 +82,14 @@ REPLACE_ISWCNTRL=0 fi AC_SUBST([REPLACE_ISWCNTRL]) + + if test $HAVE_ISWCNTRL = 0 || test $REPLACE_ISWCNTRL = 1; then + dnl Redefine all of iswcntrl, ..., towupper in <wctype.h>. + : + else + if test $HAVE_ISWBLANK = 0 || test $REPLACE_ISWBLANK = 1; then + dnl Redefine only iswblank. + AC_LIBOBJ([iswblank]) + fi + fi ])