38 lines
1.0 KiB
Plaintext
38 lines
1.0 KiB
Plaintext
From: Bruno Haible
|
|
Subject: UTF-8 should now work
|
|
Bug-Debian: http://bugs.debian.org/94966
|
|
X-Debian-version: 3.6-3
|
|
|
|
--- a/src/libiconv.c
|
|
+++ b/src/libiconv.c
|
|
@@ -1,5 +1,5 @@
|
|
/* Conversion of files between different charsets and surfaces.
|
|
- Copyright © 1999, 2000 Free Software Foundation, Inc.
|
|
+ Copyright © 1999, 2000, 2001 Free Software Foundation, Inc.
|
|
Contributed by François Pinard <pinard@iro.umontreal.ca>, 1999,
|
|
and Bruno Haible <haible@clisp.cons.org>, 2000.
|
|
|
|
@@ -195,12 +195,17 @@
|
|
memcpy() doesn't do here, because the regions might overlap.
|
|
memmove() isn't worth it, because we rarely have to move more
|
|
than 12 bytes. */
|
|
- if (input > input_buffer && input_left > 0)
|
|
+ cursor = input_buffer;
|
|
+ if (input_left > 0)
|
|
{
|
|
- cursor = input_buffer;
|
|
- do
|
|
- *cursor++ = *input++;
|
|
- while (--input_left > 0);
|
|
+ if (input > input_buffer)
|
|
+ {
|
|
+ do
|
|
+ *cursor++ = *input++;
|
|
+ while (--input_left > 0);
|
|
+ }
|
|
+ else
|
|
+ cursor += input_left;
|
|
}
|
|
}
|
|
|