Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Feb 2022 11:34:48 -0600
From:      Kyle Evans <kevans@freebsd.org>
To:        FreeBSD Hackers <freebsd-hackers@freebsd.org>
Subject:   iconv changes
Message-ID:  <CACNAnaFqsk5Zkw0A8Z1GMdxry5odCg=S%2BLtz94pFRrnupgNc2w@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hello!

Results of `git log` were somewhat inconclusive, so I'm casting a bit
of a wider net here; I've got four changes just posted to Phabricator
for iconv and iconv modules that could use some third party review.
These largely pertain to //IGNORE support:

 - https://reviews.freebsd.org/D34342 ("iconv: only conditionally use
ICONV_SET_DISCARD_ILSEQ")
 - https://reviews.freebsd.org/D34343 ("libc: iconv: push option
ignore into citrus_iconv_open()")
 - https://reviews.freebsd.org/D34344 ("libc: iconv: add mb_cur_min
for encoder traits")
 - https://reviews.freebsd.org/D34345 ("iconv_std: complete the
//IGNORE support")

The short version is that //IGNORE is only partially implemented at
the moment if you consider the behavior it was trying to model: GNU
libiconv. With GNU libiconv, you can use it to, e.g., sanitize a UTF-8
string by removing illegal sequences rather than truncating.

These reviews aim to fix it so that it works the same for our
libiconv, which would previously only ignore EILSEQ that arise as a
result of csmapper failures and not those that arise in initial
mbrtowc.

Thanks,

Kyle Evans



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACNAnaFqsk5Zkw0A8Z1GMdxry5odCg=S%2BLtz94pFRrnupgNc2w>