UTF-7-IMAP differs from UTF-7 in the followings ways (see RFC 3501[1]
for reference) :
- The shift character is '&' instead of '+'
- There is no "optional direct characters" and the "direct characters"
set is different
- There is no implicit shift back to US-ASCII from BASE64, all BASE64
sequences MUST be terminated with '-'
[1]: https://datatracker.ietf.org/doc/html/rfc3501#section-5.1.3
Signed-off-by: Max Gautier <mg@max.gautier.name>
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
I used these shell commands:
../glibc/scripts/update-copyrights $PWD/../gnulib/build-aux/update-copyright
(cd ../glibc && git commit -am"[this commit message]")
and then ignored the output, which consisted lines saying "FOO: warning:
copyright statement not found" for each of 7061 files FOO.
I then removed trailing white space from math/tgmath.h,
support/tst-support-open-dev-null-range.c, and
sysdeps/x86_64/multiarch/strlen-vec.S, to work around the following
obscure pre-commit check failure diagnostics from Savannah. I don't
know why I run into these diagnostics whereas others evidently do not.
remote: *** 912-#endif
remote: *** 913:
remote: *** 914-
remote: *** error: lines with trailing whitespace found
...
remote: *** error: sysdeps/unix/sysv/linux/statx_cp.c: trailing lines
Reinstate gconv-modules as the main file so that the configuration
files in gconv-modules.d/ become add-on configuration. With this, the
effective user visible change is that GCONV_PATH can now have
supplementary configuration in GCONV_PATH/gconv-modules.d/ in addition
to the main GCONV_PATH/gconv-modules file.
Move all gconv-modules configuration files to gconv-modules.conf.
That is, the S390 extensions now become gconv-modules-s390.conf. Move
both configuration files into gconv-modules.d.
Now GCONV_PATH/gconv-modules is read only for backward compatibility
for third-party gconv modules directories.
Reviewed-by: DJ Delorie <dj@redhat.com>
I used these shell commands:
../glibc/scripts/update-copyrights $PWD/../gnulib/build-aux/update-copyright
(cd ../glibc && git commit -am"[this commit message]")
and then ignored the output, which consisted lines saying "FOO: warning:
copyright statement not found" for each of 6694 files FOO.
I then removed trailing white space from benchtests/bench-pthread-locks.c
and iconvdata/tst-iconv-big5-hkscs-to-2ucs4.c, to work around this
diagnostic from Savannah:
remote: *** pre-commit check failed ...
remote: *** error: lines with trailing whitespace found
remote: error: hook declined to update refs/heads/master
This code page is identical to code page 850 except that X'D5'
has been changed from LI61 (dotless i) to SC20 (euro symbol).
The code points from /x01 to /x1f in the /localedata/charmaps/IBM858
file have the same mapping as those in localedata/charmaps/ANSI_X3.4-1968.
That means they disagree with with
ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00858.txt
in that range.
For example, localedata/charmaps/IBM858 and localedata/charmaps/ANSI_X3.4-1968 have:
“<U0001> /x01 START OF HEADING (SOH)”
whereas CP00858.txt has:
“01 SS000000 Smiling Face”
That means that CP00858.txt is not really ASCII-compatible and to make
it ASCII-compatible we deviate fro CP00858.txt in the code points from /x01
to /x1f.
[BZ #21084]
* benchtests/strcoll-inputs/filelist#en_US.UTF-8: Add IBM858 and ibm858.c.
* iconvdata/Makefile: Add IBM858.
* iconvdata/gconv-modules: Add IBM858.
* iconvdata/ibm858.c: New file.
* iconvdata/tst-tables.sh: Add IBM858
* localedata/charmaps/IBM858: New file.
* iconvdata/gconv-modules (E13B): Add a missing slash to the alias
name. Patch by Aurelien Jarno <aurelien@aurel32.net>.
2007-04-23 Jakub Jelinek <jakub@redhat.com>
[BZ #4405]
* iconvdata/gconv-modules (E13B): Add a missing slash to the alias
name. Patch by Aurelien Jarno <aurelien@aurel32.net>.
(distribute): Add iso_11548-1.c.
* iconvdata/gconv-modules: Add entries for ISO 11548-1.
* iconvdata/TESTS: Add entry for ISO 11548-1.
[BZ 1872]
* iconvdata/iso_11548-1.c: New file.
* iconvdata/testdata/ISO_11548-1: New file.
* iconvdata/testdata/ISO_11548-1..UTF8: New file.
Patch by Samuel Thibault <samuel.thibault@ens-lyon.org>.
2005-10-19 Ulrich Drepper <drepper@redhat.com>
* iconvdata/Makefile (modules): Add IBM1364, IBM1371, IBM1388, IBM1390,
and IBM1399.
(distribute): Add ibm1364.c, ibm1364.h, ibm1371.c, ibm1371.h,
ibm1388.c, ibm1388.h, ibm1390.c, ibm1390.h, ibm1399.c, and ibm1399.h.
* iconvdata/TESTS: Add entries for IBM1364, IBM1371, IBM1388, IBM1390,
and IBM1399.
* iconvdata/gconv-modules: Likewise.
* iconvdata/ibm1364.c: New file.
* iconvdata/ibm1364.h: New file.
* iconvdata/ibm1371.c: New file.
* iconvdata/ibm1371.h: New file.
* iconvdata/ibm1388.c: New file.
* iconvdata/ibm1388.h: New file.
* iconvdata/ibm1390.c: New file.
* iconvdata/ibm1390.h: New file.
* iconvdata/ibm1399.c: New file.
* iconvdata/ibm1399.h: New file.
* iconvdata/testdata/IBM1364: New file.
* iconvdata/testdata/IBM1364..UTF8: New file.
* iconvdata/testdata/IBM1371: New file.
* iconvdata/testdata/IBM1371..UTF8: New file.
* iconvdata/testdata/IBM1388: New file.
* iconvdata/testdata/IBM1388..UTF8: New file
* iconvdata/testdata/IBM1390: New file.
* iconvdata/testdata/IBM1390..UTF8: New file.
* iconvdata/testdata/IBM1399: New file.
* iconvdata/testdata/IBM1399..UTF8: New file.
Original patch by Masahide Washizawa <washi@jp.ibm.com>.
IBM1008, IBM1008_420, IBM1097, IBM1112, IBM1123, IBM1130, IBM1140,
IBM1141, IBM1142, IBM1143, IBM1144, IBM1145, IBM1146, IBM1147, IBM1148,
IBM1149, IBM1166, IBM1167, IBM4517, IBM4899, IBM4909, IBM4971,
IBM5347, IBM9030, IBM9066, IBM9448, IBM12712, IBM16804.
(distribute): Add ibm803.c, ibm803.h, ibm901.c, ibm901.h, ibm902.c,
ibm902.h, ibm921.c, ibm921.h, ibm1008.c, ibm1008.h, ibm1008_420.c,
ibm1097.c, ibm1097.h, ibm1112.c, ibm1112.h, ibm1123.c, ibm1123.h,
ibm1130.c, ibm1130.h, ibm1140.c, ibm1140.h, ibm1141.c, ibm1141.h,
ibm1142.c, ibm1142.h, ibm1143.c, ibm1143.h, ibm1144.c, ibm1144.h,
ibm1145.c, ibm1145.h, ibm1146.c, ibm1146.h, ibm1147.c, ibm1147.h,
ibm1148.c, ibm1148.h, ibm1149.c, ibm1149.h, ibm1166.c, ibm1166.h,
ibm1167.c, ibm1167.h, ibm4517.c, ibm4517.h, ibm4899.c, ibm4899.h,
ibm4909.c, ibm4909.h, ibm4971.c, ibm4971.h, ibm5347.c, ibm5347.h,
ibm9030.c, ibm9030.h, ibm9066.c, ibm9066.h, ibm9448.c, ibm9448.h,
ibm12712.c, ibm12712.h, ibm16804.c, ibm16804.h.
* iconvdata/TESTS: Add entries for new modules.
* iconvdata/gconv-modules: Likewise.
* iconvdata/ibm803.c: New file.
* iconvdata/ibm803.h: New file.
* iconvdata/ibm901.c: New file.
* iconvdata/ibm901.h: New file.
* iconvdata/ibm902.c: New file.
* iconvdata/ibm902.h: New file.
* iconvdata/ibm921.c: New file.
* iconvdata/ibm921.h: New file.
* iconvdata/ibm1008.c: New file.
* iconvdata/ibm1008.h: New file.
* iconvdata/ibm1008_420.c: New file.
* iconvdata/ibm1097.c: New file.
* iconvdata/ibm1097.h: New file.
* iconvdata/ibm1112.c: New file.
* iconvdata/ibm1112.h: New file.
* iconvdata/ibm1123.c: New file.
* iconvdata/ibm1123.h: New file.
* iconvdata/ibm1130.c: New file.
* iconvdata/ibm1130.h: New file.
* iconvdata/ibm1140.c: New file.
* iconvdata/ibm1140.h: New file.
* iconvdata/ibm1141.c: New file.
* iconvdata/ibm1141.h: New file.
* iconvdata/ibm1142.c: New file.
* iconvdata/ibm1142.h: New file.
* iconvdata/ibm1143.c: New file.
* iconvdata/ibm1143.h: New file.
* iconvdata/ibm1144.c: New file.
* iconvdata/ibm1144.h: New file.
* iconvdata/ibm1145.c: New file.
* iconvdata/ibm1145.h: New file.
* iconvdata/ibm1146.c: New file.
* iconvdata/ibm1146.h: New file.
* iconvdata/ibm1147.c: New file.
* iconvdata/ibm1147.h: New file.
* iconvdata/ibm1148.c: New file.
* iconvdata/ibm1148.h: New file.
* iconvdata/ibm1149.c: New file.
* iconvdata/ibm1149.h: New file.
* iconvdata/ibm1166.c: New file.
* iconvdata/ibm1166.h: New file.
* iconvdata/ibm1167.c: New file.
* iconvdata/ibm1167.h: New file.
* iconvdata/ibm4517.c: New file.
* iconvdata/ibm4517.h: New file.
* iconvdata/ibm4899.c: New file.
* iconvdata/ibm4899.h: New file.
* iconvdata/ibm4909.c: New file.
* iconvdata/ibm4909.h: New file.
* iconvdata/ibm4971.c: New file.
* iconvdata/ibm4971.h: New file.
* iconvdata/ibm5347.c: New file.
* iconvdata/ibm5347.h: New file.
* iconvdata/ibm9030.c: New file.
* iconvdata/ibm9030.h: New file.
* iconvdata/ibm9066.c: New file.
* iconvdata/ibm9066.h: New file.
* iconvdata/ibm9448.c: New file.
* iconvdata/ibm9448.h: New file.
* iconvdata/ibm12712.c: New file.
* iconvdata/ibm12712.h: New file.
* iconvdata/ibm16804.c: New file.
* iconvdata/ibm16804.h: New file.
* iconvdata/testdata/IBM803: New file.
* iconvdata/testdata/IBM803..UTF8: New file.
* iconvdata/testdata/IBM901: New file.
* iconvdata/testdata/IBM901..UTF8: New file.
* iconvdata/testdata/IBM902: New file.
* iconvdata/testdata/IBM902..UTF8: New file.
* iconvdata/testdata/IBM921: New file.
* iconvdata/testdata/IBM921..UTF8: New file.
* iconvdata/testdata/IBM1008: New file.
* iconvdata/testdata/IBM1008..UTF8: New file.
* iconvdata/testdata/IBM1097: New file.
* iconvdata/testdata/IBM1097..UTF8: New file.
* iconvdata/testdata/IBM1112: New file.
* iconvdata/testdata/IBM1112..UTF8: New file.
* iconvdata/testdata/IBM1123: New file.
* iconvdata/testdata/IBM1123..UTF8: New file.
* iconvdata/testdata/IBM1130: New file.
* iconvdata/testdata/IBM1130..UTF8: New file.
* iconvdata/testdata/IBM1140: New file.
* iconvdata/testdata/IBM1140..UTF8: New file.
* iconvdata/testdata/IBM1141: New file.
* iconvdata/testdata/IBM1141..UTF8: New file.
* iconvdata/testdata/IBM1142: New file.
* iconvdata/testdata/IBM1142..UTF8: New file.
* iconvdata/testdata/IBM1143: New file.
* iconvdata/testdata/IBM1143..UTF8: New file.
* iconvdata/testdata/IBM1144: New file.
* iconvdata/testdata/IBM1144..UTF8: New file.
* iconvdata/testdata/IBM1145: New file.
* iconvdata/testdata/IBM1145..UTF8: New file.
* iconvdata/testdata/IBM1146: New file.
* iconvdata/testdata/IBM1146..UTF8: New file.
* iconvdata/testdata/IBM1147: New file.
* iconvdata/testdata/IBM1147..UTF8: New file.
* iconvdata/testdata/IBM1148: New file.
* iconvdata/testdata/IBM1148..UTF8: New file.
* iconvdata/testdata/IBM1149: New file.
* iconvdata/testdata/IBM1149..UTF8: New file.
* iconvdata/testdata/IBM1166: New file.
* iconvdata/testdata/IBM1166..UTF8: New file.
* iconvdata/testdata/IBM1167: New file.
* iconvdata/testdata/IBM1167..UTF8: New file.
* iconvdata/testdata/IBM4517: New file.
* iconvdata/testdata/IBM4517..UTF8: New file.
* iconvdata/testdata/IBM4899: New file.
* iconvdata/testdata/IBM4899..UTF8: New file.
* iconvdata/testdata/IBM4909: New file.
* iconvdata/testdata/IBM4909..UTF8: New file.
* iconvdata/testdata/IBM4971: New file.
* iconvdata/testdata/IBM4971..UTF8: New file.
* iconvdata/testdata/IBM5347: New file.
* iconvdata/testdata/IBM5347..UTF8: New file.
* iconvdata/testdata/IBM9030: New file.
* iconvdata/testdata/IBM9030..UTF8: New file.
* iconvdata/testdata/IBM9066: New file.
* iconvdata/testdata/IBM9066..UTF8: New file.
* iconvdata/testdata/IBM9448: New file.
* iconvdata/testdata/IBM9448..UTF8: New file.
* iconvdata/testdata/IBM12712: New file.
* iconvdata/testdata/IBM12712..UTF8: New file.
* iconvdata/testdata/IBM16804: New file.
* iconvdata/testdata/IBM16804..UTF8: New file.
* iconvdata/run-iconv-test.sh: Run ASCII->encoding->ASCII suntzus
test only if $subset is N.
2004-08-02 Jakub Jelinek <jakub@redhat.com>
* iconvdata/ibm932.c (BODY): Avoid binary search for ch >= 0xffff.
Always treat high as highest number in range + 1.
* iconvdata/ibm943.c (BODY): Likewise.
2004-07-31 Bruno Haible <bruno@clisp.org>
* iconvdata/JISX0213.TXT: Updated to JISX0213 plane 1 version 2004.
* iconvdata/jisx0213.c (__jisx0213_to_ucs_main,
__jisx0213_to_ucs_pagestart, __jisx0213_from_ucs_level1,
__jisx0213_from_ucs_level2): Regenerated.
* iconvdata/jisx0213.h (jisx0213_added_in_2004_p): New function.
* iconvdata/iso-2022-jp-3.c (JISX0213_1_2000_set): Renamed from
JISX0213_1_set.
(JISX0213_1_2004_set): New enum value.
(BODY for FROM_LOOP): Treat ESC $ ( Q like ESC $ ( O.
(BODY for TO_LOOP): For JISX 0213 plane 1 characters, emit ESC $ ( O
when possible, ESC $ ( Q when needed.
* iconvdata/testdata/EUC-JISX0213: Add the 10 new characters.
* iconvdata/testdata/EUC-JISX0213..UTF8: Update.
* iconvdata/testdata/SHIFT_JISX0213: Add the 10 new characters.
* iconvdata/testdata/SHIFT_JISX0213..UTF8: Update.
* iconvdata/testdata/ISO-2022-JP-3: Add the 10 new JISX0213 characters.
* iconvdata/testdata/ISO-2022-JP-3..UTF8: Update.
2004-07-22 Bruno Haible <bruno@clisp.org>
* iconvdata/gconv-modules (ISO-8859-7): Add alias ISO_8859-7:2003.
* iconvdata/Makefile (distribute): Add it.
(modules): Add CP1125.
(gen-8bit-gap-modules): Add cp1125.
* iconvdata/gconv-modules: Add CP1125, alias RUSCII.
* iconvdata/tst-tables.sh: Add CP1125 to the list to test.
* iconv/iconv_prog.c (main): Provide an error message that identifies
the wrong encoding.
2002-09-22 Bruno Haible <bruno@clisp.org>
* iconvdata/tscii.c: New file.
* iconvdata/testdata/TSCII: New file.
* iconvdata/testdata/TSCII..UTF8: New file.
* iconvdata/TSCII.precomposed: New file.
* iconvdata/TSCII.irreversible: New file.
* iconvdata/gconv-modules (TSCII): New module.
* iconvdata/Makefile (modules): Add TSCII.
(distribute): Add tscii.c.
* iconvdata/tst-table-from.c (try, utf8_decode, main): Double output
buffer size.
* iconvdata/tst-tables.sh: Add TSCII.
* iconvdata/TESTS: Add TSCII.
2002-09-22 Bruno Haible <bruno@clisp.org>
Revert 2002-04-18 patch.
* iconvdata/euc-jisx0213.c (EMIT_SHIFT_TO_INIT, BODY for
FROM_DIRECTION): Make the FROM direction stateful again.
* iconvdata/shift_jisx0213.c (EMIT_SHIFT_TO_INIT, BODY for
FROM_DIRECTION): Likewise.
2002-09-22 Bruno Haible <bruno@clisp.org>
2002-05-12 Bruno Haible <bruno@clisp.org>
* iconvdata/testdata/EUC-JISX0213: New file.
* iconvdata/testdata/EUC-JISX0213..UTF8: New file.
* iconvdata/testdata/SHIFT_JISX0213: New file.
* iconvdata/testdata/SHIFT_JISX0213..UTF8: New file.
* iconvdata/testdata/ISO-2022-JP-3: New file.
* iconvdata/testdata/ISO-2022-JP-3..UTF8: New file.
* iconvdata/TESTS: Add EUC-JISX0213, SHIFT_JISX0213, ISO-2022-JP-3.
* iconvdata/run-iconv-test.sh: Skip the charmap test if the charmap
contains comments indicating precomposed characters.
2002-04-21 Bruno Haible <bruno@clisp.org>
* iconvdata/iso-2022-jp-3.c: New file.
* iconvdata/gconv-modules (ISO-2022-JP-3): New module.
* iconvdata/Makefile (modules): Add ISO-2022-JP-3.
(LDFLAGS-ISO-2022-JP-3.so): New variable.
(ISO-2022-JP-3.so): Depend on libJIS.so and libJISX0213.so.
(distribute): Add iso-2022-jp-3.c.
2002-05-12 Bruno Haible <bruno@clisp.org>
* iconvdata/tst-table-to.c (main): Restore handling of
transliterations, broken by last patch.
2002-05-12 Bruno Haible <bruno@clisp.org>
* iconvdata/TESTS: Add IBM922, IBM1124, IBM1129.
2002-05-12 Bruno Haible <bruno@clisp.org>
* iconvdata/euc-jisx0213.c (BODY for FROM_LOOP): Don't advance inptr
when there is not enough room in the output buffer.
* iconvdata/shift_jisx0213.c (BODY for FROM_LOOP): Likewise.
2002-04-20 Bruno Haible <bruno@clisp.org>
* iconv/skeleton.c ({FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO}): New
macros.
(RESET_INPUT_BUFFER): Use them instead of {MIN,MAX}_NEEDED_{FROM,TO}.
Also make this macro work if FROM_DIRECTION evaluates to 0.
(gconv_init): Use the new macros instead of {MIN,MAX}_NEEDED_{FROM,TO}.
(FUNCTION_NAME): Likewise, in the handling of unaligned accesses and
of consume_incomplete.
* iconvdata/cp1255.c: Define {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO}
instead of {MIN,MAX}_NEEDED_{FROM,TO}. Set FROM_LOOP_MAX_NEEDED_TO to
4, not 8.
* iconvdata/cp1258.c: Likewise.
* iconvdata/ibm930.c: Define {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO}
instead of {MIN,MAX}_NEEDED_{FROM,TO}. Set TO_LOOP_MAX_NEEDED_TO to 3,
not 2.
* iconvdata/ibm933.c: Likewise.
* iconvdata/ibm935.c: Likewise.
* iconvdata/ibm937.c: Likewise.
* iconvdata/ibm939.c: Likewise.
* iconvdata/iso-2022-cn.c: Define
{FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of
{MIN,MAX}_NEEDED_{FROM,TO}. Set TO_LOOP_MAX_NEEDED_TO to 6, not 4.
* iconvdata/iso-2022-cn-ext.c: Likewise.
* iconvdata/iso-2022-jp.c: Define
{FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of
{MIN,MAX}_NEEDED_{FROM,TO}.
* iconvdata/tcvn5712-1.c: Define
{FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of
{MIN,MAX}_NEEDED_{FROM,TO}. Set FROM_LOOP_MAX_NEEDED_FROM to 1, not 2.
* iconvdata/euc-jisx0213.c: Define
{FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of
{MIN,MAX}_NEEDED_{FROM,TO}. Set FROM_LOOP_MAX_NEEDED_TO to 8, not 4.
* iconvdata/shift_jisx0213.c: Likewise.
2002-05-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* sysdeps/powerpc/Makefile (sysdeps_routines): Add divdi3, cmpdi2,
shdi3, fixdfdi, fixsfdi in csu dir.
(shared-only-routines): Likewise.
* sysdeps/wordsize-32/cmpdi2.c: New file.
* sysdeps/wordsize-32/shdi3.c: New file.
* sysdeps/wordsize-32/fixdfdi.c: New file.
* sysdeps/wordsize-32/fixsfdi.c: New file.
* sysdeps/powerpc/Versions (__divdi3, __moddi3, __udivdi3, __umoddi3,
__ashldi3, __ashrdi3, __lshrdi3, __cmpdi2, __ucmpdi2, __fixdfdi,
__fixsfdi, __fixunsdfdi, __fixunssfdi): Export at GLIBC_2.0.
* sysdeps/unix/sysv/linux/semctl.c (__old_semctl, __new_semctl):
Only use va_arg if the argument will be used [PR libc/3259].
2002-05-06 Michael A. Schmidt <mmaass@us.ibm.com>
* catgets/catgets.c (catopen): Free buffer if internal catalog
open fails.
2002-05-14 Ulrich Drepper <drepper@redhat.com>
* debug/xtrace.sh: Make more robust. For realtime tracking use
non-buffering methods.
* debug/pcprofiledump.c: Implement -u option.
Patch by Roger Luethi <rl@hellgate.ch>.