glibc/iconv
Arjun Shankar 70d585151c Rewrite iconv option parsing [BZ #19519]
This commit replaces string manipulation during `iconv_open' and iconv_prog
option parsing with a structured, flag based conversion specification.  In
doing so, it alters the internal `__gconv_open' interface and accordingly
adjusts its uses.

This change fixes several hangs in the iconv program and therefore includes
a new test to exercise iconv_prog options that originally led to these hangs.
It also includes a new regression test for option handling in the iconv
function.

Reviewed-by: Florian Weimer <fweimer@redhat.com>
Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
Reviewed-by: Carlos O'Donell <carlos@redhat.com>

(cherry picked from commit 91927b7c76)
2020-08-03 23:34:44 +02:00
..
dummy-repertoire.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
gconv_builtin.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
gconv_builtin.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
gconv_cache.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
gconv_charset.c Rewrite iconv option parsing [BZ #19519] 2020-08-03 23:34:44 +02:00
gconv_charset.h Rewrite iconv option parsing [BZ #19519] 2020-08-03 23:34:44 +02:00
gconv_close.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
gconv_conf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
gconv_db.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
gconv_dl.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
gconv_int.h Rewrite iconv option parsing [BZ #19519] 2020-08-03 23:34:44 +02:00
gconv_open.c Rewrite iconv option parsing [BZ #19519] 2020-08-03 23:34:44 +02:00
gconv_simple.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
gconv_trans.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
gconv.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
gconv.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
iconv_charmap.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
iconv_close.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
iconv_open.c Rewrite iconv option parsing [BZ #19519] 2020-08-03 23:34:44 +02:00
iconv_prog.c Rewrite iconv option parsing [BZ #19519] 2020-08-03 23:34:44 +02:00
iconv_prog.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
iconv.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
iconv.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
iconvconfig.c Update copyright dates not handled by scripts/update-copyrights. 2020-01-01 00:21:22 +00:00
iconvconfig.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
loop.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Makefile Rewrite iconv option parsing [BZ #19519] 2020-08-03 23:34:44 +02:00
skeleton.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strtab.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-gconv-modules Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-gconv-init-failure-mod.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-gconv-init-failure.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-iconv1.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-iconv2.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-iconv3.c Convert tst-iconv3 to use test-skeleton. 2015-02-25 16:01:13 -08:00
tst-iconv4.c
tst-iconv5.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-iconv6.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-iconv7.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-iconv_prog.sh Rewrite iconv option parsing [BZ #19519] 2020-08-03 23:34:44 +02:00
tst-iconv-mt.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-iconv-opt.c Rewrite iconv option parsing [BZ #19519] 2020-08-03 23:34:44 +02:00
Versions Rewrite iconv option parsing [BZ #19519] 2020-08-03 23:34:44 +02:00