On 02/14/2011 01:03 AM, erik quanstrom wrote:
> that doesn't really work for me.  either the kernel should always print
> as hex, or the decision should be made for the whole string.  the \x
> notation requires that any \x be excaped.  you potentially need to escape
> both " and \.  it's a difficult and non-standard quoting scheme for plan 9.
> if you think the kernel really needs to be making a decision based on
> utf-8/not utf-8 (not 7-bit ascii!), i would think the most standard way
> of formatting this would be nil, %.*q or %.*H.

I remembered reading of, and using, the %q format, but %H is new to me.
 The web version of print(2) doesn’t describe it, so I went to the source.

In libc.h I found
        #pragma varargck        type    "<"     void*
        #pragma varargck        type    "["     void*
        #pragma varargck        type    "H"     void*
        #pragma varargck        type    "lH"    void*
but none of these are in the knownfmt[] array in sys/src/libc/fmt/fmt.c
and I don’t see where fmtinstall() is called for them.

What do these formats do?

--Joel

Reply via email to