summaryrefslogtreecommitdiff
path: root/iconv/iconv_prog.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-04-06 20:36:19 +0000
committerUlrich Drepper <drepper@redhat.com>2003-04-06 20:36:19 +0000
commitb87507117c2424239f69ca7e3c5e6c2a52328839 (patch)
treef7f34b0a60f694cbfb298db8ac3049ba483472c6 /iconv/iconv_prog.c
parentefedd9cf71dd21618635d5f52717a713505ad5d7 (diff)
downloadglibc-b87507117c2424239f69ca7e3c5e6c2a52328839.tar.gz
(process_block): Don't print message about invliad input if the -c option is used.
Diffstat (limited to 'iconv/iconv_prog.c')
-rw-r--r--iconv/iconv_prog.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/iconv/iconv_prog.c b/iconv/iconv_prog.c
index 78b430d7d7..81edc96036 100644
--- a/iconv/iconv_prog.c
+++ b/iconv/iconv_prog.c
@@ -160,14 +160,16 @@ main (int argc, char *argv[])
if (*errhand == '/')
{
--nslash;
- ++errhand;
+ errhand = strchr (errhand, '\0');
}
}
- newp = (char *) alloca (errhand - to_code + nslash + 6 + 1);
+ newp = (char *) alloca (errhand - to_code + nslash + 7 + 1);
cp = mempcpy (newp, to_code, errhand - to_code);
while (nslash-- > 0)
*cp++ = '/';
+ if (cp[-1] != '/')
+ *cp++ = ',';
memcpy (cp, "IGNORE", sizeof ("IGNORE"));
to_code = newp;
@@ -496,8 +498,9 @@ conversion stopped due to problem in writing the output"));
switch (errno)
{
case EILSEQ:
- error (0, 0, _("illegal input sequence at position %ld"),
- (long) (addr - start));
+ if (! omit_invalid)
+ error (0, 0, _("illegal input sequence at position %ld"),
+ (long int) (addr - start));
break;
case EINVAL:
error (0, 0, _("\