Mercurial > hg > octave-lyh > gnulib-hg
changeset 10912:ab4d6b768a66
New module 'mbrlen'.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sat, 20 Dec 2008 01:54:05 +0100 |
parents | be669cca12c4 |
children | b97cc734ef40 |
files | lib/mbrlen.c m4/mbrlen.m4 modules/mbrlen |
diffstat | 3 files changed, 83 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/lib/mbrlen.c @@ -0,0 +1,32 @@ +/* Recognize multibyte character. + Copyright (C) 1999-2000, 2008 Free Software Foundation, Inc. + Written by Bruno Haible <bruno@clisp.org>, 2008. + + 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 <wchar.h> + + +static mbstate_t internal_state; + +size_t +mbrlen (const char *s, size_t n, mbstate_t *ps) +{ + if (ps == NULL) + ps = &internal_state; + return mbrtowc (NULL, s, n, ps); +}
new file mode 100644 --- /dev/null +++ b/m4/mbrlen.m4 @@ -0,0 +1,24 @@ +# mbrlen.m4 serial 1 +dnl Copyright (C) 2008 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_MBRLEN], +[ + AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) + + AC_REQUIRE([AC_TYPE_MBSTATE_T]) + AC_CHECK_FUNCS_ONCE([mbrlen]) + if test $ac_cv_func_mbrlen = no; then + HAVE_MBRLEN=0 + gl_REPLACE_WCHAR_H + AC_LIBOBJ([mbrlen]) + gl_PREREQ_MBRLEN + fi +]) + +# Prerequisites of lib/mbrlen.c. +AC_DEFUN([gl_PREREQ_MBRLEN], [ + : +])
new file mode 100644 --- /dev/null +++ b/modules/mbrlen @@ -0,0 +1,27 @@ +Description: +mbrlen() function: recognize multibyte character. + +Files: +lib/mbrlen.c +m4/mbrlen.m4 +m4/mbstate_t.m4 + +Depends-on: +wchar +mbrtowc + +configure.ac: +gl_FUNC_MBRLEN +gl_WCHAR_MODULE_INDICATOR([mbrlen]) + +Makefile.am: + +Include: +<wchar.h> + +License: +LGPL + +Maintainer: +Bruno Haible +