Red Hat Bugzilla – Bug 61294
Messages are broken in non-ASCII locales for libc strings
Last modified: 2007-04-18 12:40:59 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.8) Gecko/20020301
Description of problem:
Enscript does setlocale only for LC_MESSAGES, not for LC_CTYPE. That fails with
recent glibc versions which tries to convert to the selected character set
on-the-fly. The result is non-ASCII character replaced by question marks. For
some reason I don't understand, this appears to happen only to strings coming
from libc, not enscript's own strings.
Version-Release number of selected component (if applicable):1.6.1-16.2
Steps to Reproduce:
1.env LANG=fr_FR enscript /etc/passwd -o /apa
Actual Results: enscript: Ne peut crier un fichier de sortie "/apa": Permission
(In case it get's mangled in the processing, the middle character in the fourth
word is an e-acute.)
Expected Results: The question mark which is before the e at the end should
(also) have been an e-acute.
I've mentioned this to the developer Markku Rossi <firstname.lastname@example.org>, so we can hope
it will be fixed in some future version of enscript. In the mean time, maybe
the simple patch I encolse could be used. I don't dare to do a
setlocale(LC_CTYPE,...) since enscript uses ctype functions and I haven't
analysed it enough to know if it would be affected. But using the
bind_textdomain_codeset() ought to be safe. If this were to be ported to the
distribution, one would of course have to adjust the configuration, similar to
what I suggested in bug 49182.
Created attachment 48725 [details]
Patch to bind the codeset for libc strings.
Fixed package is enscript-1.6.1-18. Thanks.