From 5484ff515e97e1be0ce77ca171b1476558e2521f Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 11 Mar 2008 20:12:16 +0000 Subject: (charmap_conversion): Pass name of output file not stream for output file. Open output file here. --- iconv/iconv_charmap.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'iconv') diff --git a/iconv/iconv_charmap.c b/iconv/iconv_charmap.c index f679c64..d128111 100644 --- a/iconv/iconv_charmap.c +++ b/iconv/iconv_charmap.c @@ -1,5 +1,5 @@ /* Convert using charmaps and possibly iconv(). - Copyright (C) 2001, 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2001, 2005, 2006, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2001. @@ -94,7 +94,8 @@ static int process_file (struct convtable *tbl, FILE *input, FILE *output); int charmap_conversion (const char *from_code, struct charmap_t *from_charmap, const char *to_code, struct charmap_t *to_charmap, - int argc, int remaining, char *argv[], FILE *output) + int argc, int remaining, char *argv[], + const char *output_file) { struct convtable *cvtbl; int status = EXIT_SUCCESS; @@ -132,6 +133,17 @@ charmap_conversion (const char *from_code, struct charmap_t *from_charmap, if (cvtbl == NULL) return EXIT_FAILURE; + /* Determine output file. */ + FILE *output; + if (output_file != NULL && strcmp (output_file, "-") != 0) + { + output = fopen (output_file, "w"); + if (output == NULL) + error (EXIT_FAILURE, errno, _("cannot open output file")); + } + else + output = stdout; + /* We can now start the conversion. */ if (remaining == argc) { -- cgit v1.1