aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--iconv/iconv_prog.c4
-rw-r--r--locale/programs/charmap.c5
-rw-r--r--locale/programs/charmap.h5
-rw-r--r--locale/programs/localedef.c2
5 files changed, 18 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index e54bd15b93..c3d9a0b50e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-08-19 Ulrich Drepper <drepper@redhat.com>
+
+ * locale/programs/charmap.c (charmap_read): Add new parameter. It
+ tells us when not finding a charmap file is an error.
+ * locale/programs/charmap.h: Adjust charmap_read prototype.
+ * iconv/iconv_prog.c (main): Tell charmap_read it's no error if we
+ cannot find a charmap.
+ * locale/programs/localedef.c (main): Adjust charmap_read call.
+
2006-08-15 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Use
diff --git a/iconv/iconv_prog.c b/iconv/iconv_prog.c
index 033cd93f23..fabdd001e3 100644
--- a/iconv/iconv_prog.c
+++ b/iconv/iconv_prog.c
@@ -183,12 +183,12 @@ main (int argc, char *argv[])
if (strchr (from_code, '/') != NULL)
/* The from-name might be a charmap file name. Try reading the
file. */
- from_charmap = charmap_read (from_code, /*0, 1*/1, 0, 0);
+ from_charmap = charmap_read (from_code, /*0, 1*/1, 0, 0, 0);
if (strchr (orig_to_code, '/') != NULL)
/* The to-name might be a charmap file name. Try reading the
file. */
- to_charmap = charmap_read (orig_to_code, /*0, 1,*/1,0, 0);
+ to_charmap = charmap_read (orig_to_code, /*0, 1,*/1, 0, 0, 0);
/* Determine output file. */
diff --git a/locale/programs/charmap.c b/locale/programs/charmap.c
index e56b0be81c..52a69de4b0 100644
--- a/locale/programs/charmap.c
+++ b/locale/programs/charmap.c
@@ -86,7 +86,8 @@ cmlr_open (const char *directory, const char *name, kw_hash_fct_t hf)
}
struct charmap_t *
-charmap_read (const char *filename, int verbose, int be_quiet, int use_default)
+charmap_read (const char *filename, int verbose, int error_not_found,
+ int be_quiet, int use_default)
{
struct charmap_t *result = NULL;
@@ -132,7 +133,7 @@ charmap_read (const char *filename, int verbose, int be_quiet, int use_default)
if (cmfile != NULL)
result = parse_charmap (cmfile, verbose, be_quiet);
- if (result == NULL && !be_quiet)
+ if (result == NULL && error_not_found)
WITH_CUR_LOCALE (error (0, errno, _("\
character map file `%s' not found"), filename));
}
diff --git a/locale/programs/charmap.h b/locale/programs/charmap.h
index a3f31d6333..fd711f2d11 100644
--- a/locale/programs/charmap.h
+++ b/locale/programs/charmap.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-1999, 2001, 2003, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 1996-1999,2001,2003,2005,2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
@@ -69,7 +69,8 @@ extern bool enc_not_ascii_compatible;
/* Prototypes for charmap handling functions. */
extern struct charmap_t *charmap_read (const char *filename, int verbose,
- int be_quiet, int use_default);
+ int error_not_found, int be_quiet,
+ int use_default);
/* Return the value stored under the given key in the hashing table. */
extern struct charseq *charmap_find_value (const struct charmap_t *charmap,
diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c
index f705f34a75..5df07e94c6 100644
--- a/locale/programs/localedef.c
+++ b/locale/programs/localedef.c
@@ -243,7 +243,7 @@ main (int argc, char *argv[])
FATAL: system does not define `_POSIX2_LOCALEDEF'")));
/* Process charmap file. */
- charmap = charmap_read (charmap_file, verbose, be_quiet, 1);
+ charmap = charmap_read (charmap_file, verbose, 1, be_quiet, 1);
/* Add the first entry in the locale list. */
memset (&global, '\0', sizeof (struct localedef_t));