git: iconv: Sync#2 - Support ICONV_{GET,SET}_ILSEQ_INVALID

Sascha Wildner swildner at crater.dragonflybsd.org
Fri Jan 10 10:55:22 PST 2014


commit 9d94407120498b0331be09b25c4786a98396c14e
Author: John Marino <draco at marino.st>
Date:   Fri Jan 10 01:06:03 2014 +0100

    iconv: Sync#2 - Support ICONV_{GET,SET}_ILSEQ_INVALID
    
    Add ICONV_{GET,SET}_ILSEQ_INVALID iconvctl. GNU iconv returns EILSEQ
    when there is an invalid character in the output codeset while it is
    valid in the input.  However, POSIX requires iconv() to perform an
    implementation-defined conversion on the character.  So, Citrus iconv
    converts such a character to a special character which means it is
    invalid in the output codeset.
    
    This is not a problem in most cases but some software like libxml2
    depends on GNU's behavior to determine if a character is output as-is
    or another form such as a character entity (&#NNN;).
    
    Taken verbatim from:
    	FreeBSD SVN 258537 (24 NOV 2013)

Summary of changes:
 include/iconv.h                              |  2 ++
 lib/i18n_module/iconv_std/citrus_iconv_std.c | 10 ++++++++++
 lib/libc/citrus/citrus_iconv_local.h         |  1 +
 lib/libc/iconv/iconv.c                       |  6 ++++++
 lib/libc/iconv/iconvctl.3                    | 27 ++++++++++++++++++++++++++-
 5 files changed, 45 insertions(+), 1 deletion(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9d94407120498b0331be09b25c4786a98396c14e


-- 
DragonFly BSD source repository


More information about the Commits mailing list