New module 'mbrlen'.

This commit is contained in:
Bruno Haible
2008-12-20 01:54:05 +01:00
parent 30a3e12b0d
commit 797646a906
3 changed files with 83 additions and 0 deletions
+32
View File
@@ -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);
}
+24
View File
@@ -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], [
:
])
+27
View File
@@ -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