diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | iconvdata/ibm932.c | 16 | ||||
-rw-r--r-- | iconvdata/ibm943.c | 16 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/bits/uio.h | 4 |
4 files changed, 13 insertions, 28 deletions
diff --git a/ChangeLog b/ChangeLog index ec78786e92..f57e6c657b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,11 @@ 2006-04-26 Ulrich Drepper <drepper@redhat.com> + [BZ #1386] + * iconvdata/ibm932.c: Change mapping to allow round-trips. + * iconvdata/ibm943.c: Likewise. + Patch by Masahide Washizawa <WASHI@jp.ibm.com>. + * sysdeps/unix/sysv/linux/syscalls.list: Add vmsplice. * sysdeps/unix/sysv/linux/Versions: Export vmsplice@@GLIBC_2.5. * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Declare vmsplice. diff --git a/iconvdata/ibm932.c b/iconvdata/ibm932.c index 8f05581c13..4fb1582e79 100644 --- a/iconvdata/ibm932.c +++ b/iconvdata/ibm932.c @@ -94,16 +94,10 @@ } \ else \ { \ - if (res == 0x1c) \ - res = 0x1a; \ - else if (res == 0x7f) \ - res = 0x1c; \ - else if (res == 0xa5) \ + if (res == 0xa5) \ res = 0x5c; \ else if (res == 0x203e) \ res = 0x7e; \ - else if (res == 0x1a) \ - res = 0x7f; \ put32 (outptr, res); \ outptr += 4; \ inptr++; \ @@ -117,16 +111,10 @@ uint32_t res = __ibm932sb_to_ucs4[c]; \ if (res == 0 && c != 0) \ return WEOF; \ - if (res == 0x1c) \ - res = 0x1a; \ - else if (res == 0x7f) \ - res = 0x1c; \ - else if (res == 0xa5) \ + if (res == 0xa5) \ res = 0x5c; \ else if (res == 0x203e) \ res = 0x7e; \ - else if (res == 0x1a) \ - res = 0x7f; \ return res; \ } #include <iconv/loop.c> diff --git a/iconvdata/ibm943.c b/iconvdata/ibm943.c index daeac1d8b2..119bb1f4b9 100644 --- a/iconvdata/ibm943.c +++ b/iconvdata/ibm943.c @@ -95,16 +95,10 @@ } \ else \ { \ - if (res == 0x1c) \ - res = 0x1a; \ - else if (res == 0x7f) \ - res = 0x1c; \ - else if (res == 0xa5) \ + if (res == 0xa5) \ res = 0x5c; \ else if (res == 0x203e) \ res = 0x7e; \ - else if (res == 0x1a) \ - res = 0x7f; \ put32 (outptr, res); \ outptr += 4; \ inptr++; \ @@ -118,16 +112,10 @@ uint32_t res = __ibm943sb_to_ucs4[c]; \ if (res == 0 && c != 0) \ return WEOF; \ - if (res == 0x1c) \ - res = 0x1a; \ - else if (res == 0x7f) \ - res = 0x1c; \ - else if (res == 0xa5) \ + if (res == 0xa5) \ res = 0x5c; \ else if (res == 0x203e) \ res = 0x7e; \ - else if (res == 0x1a) \ - res = 0x7f; \ return res; \ } #include <iconv/loop.c> diff --git a/sysdeps/unix/sysv/linux/bits/uio.h b/sysdeps/unix/sysv/linux/bits/uio.h index 4113b53b78..6a283ed771 100644 --- a/sysdeps/unix/sysv/linux/bits/uio.h +++ b/sysdeps/unix/sysv/linux/bits/uio.h @@ -20,6 +20,8 @@ # error "Never include <bits/uio.h> directly; use <sys/uio.h> instead." #endif +#ifndef _BITS_UIO_H +#define _BITS_UIO_H 1 #include <sys/types.h> @@ -44,3 +46,5 @@ struct iovec void *iov_base; /* Pointer to data. */ size_t iov_len; /* Length of data. */ }; + +#endif |