From 000ad74414f18b6ae751de49f8648dd4b088dcc4 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Tue, 31 Dec 2002 13:20:21 +0000 Subject: [PATCH] New file localcharset.h. --- lib/ChangeLog | 6 ++++++ lib/localcharset.c | 3 +++ lib/localcharset.h | 23 +++++++++++++++++++++++ lib/unicodeio.c | 3 ++- 4 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 lib/localcharset.h diff --git a/lib/ChangeLog b/lib/ChangeLog index 4cbc903363..aa2e9fd309 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,9 @@ +2002-12-23 Bruno Haible + + * localcharset.h: New file. + * localcharset.c: Include it. + * unicodeio.c: Likewise. + 2002-12-22 Bruno Haible * utime.c (utime_null): No need to call ftruncate if the file was diff --git a/lib/localcharset.c b/lib/localcharset.c index 2b1564e2fd..dad97308c7 100644 --- a/lib/localcharset.c +++ b/lib/localcharset.c @@ -23,6 +23,9 @@ # include #endif +/* Specification. */ +#include "localcharset.h" + #if HAVE_STDDEF_H # include #endif diff --git a/lib/localcharset.h b/lib/localcharset.h new file mode 100644 index 0000000000..2522e92ede --- /dev/null +++ b/lib/localcharset.h @@ -0,0 +1,23 @@ +/* Determine a canonical name for the current locale's character encoding. + Copyright (C) 2002 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* Determine the current locale's character encoding, and canonicalize it + into one of the canonical names listed in config.charset. + The result must not be freed; it is statically allocated. + If the canonical name cannot be determined, the result is a non-canonical + name. */ +extern const char * locale_charset (void); diff --git a/lib/unicodeio.c b/lib/unicodeio.c index a698ca5df7..a146569e47 100644 --- a/lib/unicodeio.c +++ b/lib/unicodeio.c @@ -51,6 +51,8 @@ extern int errno; #define _(msgid) gettext (msgid) #define N_(msgid) msgid +#include "localcharset.h" + /* When we pass a Unicode character to iconv(), we must pass it in a suitable encoding. The standardized Unicode encodings are UTF-8, UCS-2, UCS-4, UTF-16, UTF-16BE, UTF-16LE, UTF-7. @@ -127,7 +129,6 @@ unicode_to_mb (unsigned int code, if (!initialized) { - extern const char *locale_charset PARAMS ((void)); const char *charset = locale_charset (); is_utf8 = !strcmp (charset, UTF8_NAME); -- 2.30.2