This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Preparsing sprintf format strings


Ross Ridge writes:
>The compiler can't in general know what encoding that printf, fprintf,
>and sprintf will use to parse the string.  It's locale dependent.

Paolo Bonzini writes:
>It is undefined what happens if you run a program in a different charset
>than in the one you specified for -fexec-charset. (locale != charset).

I don't think that's true, but regardless many systems have runtime
character sets that are dependent on locale.  If GCC doesn't support this,
then GCC is broken.

>A google code search for printf.*\\x1[bB][($].*%s hints that this is
>not a problem in practice.

In practice, probably not.  I doubt there are any ASCII based systems that
actually support stateful encodings like ISO 2202-JP in their C runtimes.
There is at least one EBCDIC based systems, that fully supports stateful
encodings, but I don't know if in these encodings '%' byte values can
appear outside of the initial shift state.

					Ross Ridge


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]