> From: Ken Raeburn raeb...@raeburn.org

> iconv_t
> iconv_open (const char *tocode, const char *fromcode)
> {
>   /* Normalize the name.  We remove all characters beside alpha-numeric,
>     '_', '-', '/', '.', and ':'.  */
>   ...
> 
> If there's reason to believe that all these characters might show up in valid 
> encoding names, we might want to borrow that list for scm_i_scan_for_encoding 
> too.  In fact, since we don't control the iconv implementation, we should 
> probably be *at least* as lenient as glibc in accepting random characters.

You're probably right.  A rather complete set of aliases for encoding names
can be found by exploring ICU's database of aliases at
http://demo.icu-project.org/icu-bin/convexp 

Among those aliases, there are examples of the punctuation in the
iconv_open code snippet above (underscore, hyphen, forward slash, period, and 
colon)
as well as three others: equals sign, plus sign, and comma.  The specification
on iconv_open doesn't place any limits on the characters allowed as input to
iconv_open; however, these eight symbols above should cover any case we're 
likely
to see.

> 
> Okay to check in?

FWIW, it looks right to me.

-Mike Gran



Reply via email to