Mercurial > hg > octave-lojdl > gnulib-hg
changeset 12184:d36f385f1f13
New module 'isblank'.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sun, 18 Oct 2009 21:16:44 +0200 |
parents | 2bdca798f96c |
children | b66b97142d27 |
files | ChangeLog doc/posix-functions/isblank.texi lib/isblank.c m4/isblank.m4 modules/isblank |
diffstat | 5 files changed, 90 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2009-10-18 Bruno Haible <bruno@clisp.org> + + New module 'isblank'. + * lib/isblank.c: New file. + * m4/isblank.m4: New file. + * modules/isblank: New file. + * doc/posix-functions/isblank.texi: Mention the new module. + 2009-10-18 Bruno Haible <bruno@clisp.org> New module 'ctype'.
--- a/doc/posix-functions/isblank.texi +++ b/doc/posix-functions/isblank.texi @@ -4,15 +4,15 @@ POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/isblank.html} -Gnulib module: --- +Gnulib module: isblank Portability problems fixed by Gnulib: @itemize -@end itemize - -Portability problems not fixed by Gnulib: -@itemize @item This function is missing on some platforms: AIX 4.3.2, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw. @end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize
new file mode 100644 --- /dev/null +++ b/lib/isblank.c @@ -0,0 +1,33 @@ +/* Test whether a character is a blank. + + Copyright (C) 2009 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 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 <http://www.gnu.org/licenses/>. */ + +#include <config.h> + +/* Specification. */ +#include <ctype.h> + +int +isblank (int c) +{ + /* On all known platforms, in all predefined locales, isblank(c) is likely + equivalent with (c == ' ' || c == '\t'). Look at the glibc definition + (in glibc/localedata/locales/i18n): The "blank" characters are '\t', ' ', + U+1680, U+180E, U+2000..U+2006, U+2008..U+200A, U+205F, U+3000, and none + except the first two is present in a common 8-bit encoding. Therefore + the substitute for other platforms is not more complicated than this. */ + return (c == ' ' || c == '\t'); +}
new file mode 100644 --- /dev/null +++ b/m4/isblank.m4 @@ -0,0 +1,19 @@ +# isblank.m4 serial 1 +dnl Copyright (C) 2009 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_ISBLANK], +[ + dnl Persuade glibc <ctype.h> to declare isblank(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + + AC_REQUIRE([gl_CTYPE_H_DEFAULTS]) + AC_CHECK_FUNCS_ONCE([isblank]) + if test $ac_cv_func_isblank = no; then + HAVE_ISBLANK=0 + CTYPE_H='ctype.h' + AC_LIBOBJ([isblank]) + fi +])
new file mode 100644 --- /dev/null +++ b/modules/isblank @@ -0,0 +1,25 @@ +Description: +isblank() function: test whether a single-byte character is a blank. + +Files: +lib/isblank.c +m4/isblank.m4 + +Depends-on: +extensions +ctype + +configure.ac: +gl_FUNC_ISBLANK +gl_CTYPE_MODULE_INDICATOR([isblank]) + +Makefile.am: + +Include: +<ctype.h> + +License: +LGPLv2+ + +Maintainer: +Bruno Haible