From 2def87644d44b41bb908d4ed150a110d4d9399ea Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 15 Nov 2003 21:58:21 +0000 Subject: [PATCH] Update. 2003-11-15 Ulrich Drepper * wcsmbs/mbsinit.c: Undef mbsinit and __mbsinit. * include/wchar.h: Provide inline versions of mbsinit and __mbsinit. --- ChangeLog | 5 +++++ include/wchar.h | 7 +++++++ wcsmbs/mbsinit.c | 5 ++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 8aaed91..8df65fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-11-15 Ulrich Drepper + + * wcsmbs/mbsinit.c: Undef mbsinit and __mbsinit. + * include/wchar.h: Provide inline versions of mbsinit and __mbsinit. + 2003-11-14 Jakub Jelinek * posix/tst-rxspencer.c (check_match): @ without any following diff --git a/include/wchar.h b/include/wchar.h index a9cd440..f69463f 100644 --- a/include/wchar.h +++ b/include/wchar.h @@ -113,5 +113,12 @@ extern int __vfwprintf (__FILE *__restrict __s, /* Internal functions. */ extern size_t __mbsrtowcs_l (wchar_t *dst, const char **src, size_t len, mbstate_t *ps, __locale_t l) attribute_hidden; + +/* Special version. We know that all uses of mbsinit inside the libc + have a non-NULL parameter. And certainly we can access the + internals of the data structure directly. */ +# define mbsinit(state) ((state)->__count == 0) +# define __mbsinit(state) ((state)->__count == 0) + # endif #endif diff --git a/wcsmbs/mbsinit.c b/wcsmbs/mbsinit.c index 5d740c8..569cdd8 100644 --- a/wcsmbs/mbsinit.c +++ b/wcsmbs/mbsinit.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 2000, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -20,6 +20,9 @@ #include #include +#undef mbsinit +#undef __mbsinit + /* In GNU libc the conversion functions only can convert between the fixed wide character representation and the multibyte representation of the same character set. Since we use ISO 10646 -- 2.7.4