
LTTng format string parsing
July 26, 2007

"%lu"
"#4b%u"
"#lu%u" (no sign extension)
"#ld%c" (sign extension)
"#lld%p" (sign extension)

Parsing:

When # is encountered
  Deal with ## case (escaped)
  Read length modifier
    gcc-like
    trace specific : 1, 2, 4, 8, n, b
      in both cases, save the output type size (1, 2, 4, 8).
  Read conversion specifier
      save the output type size if no length modifier is involved (1, 2, 4, 8).
      save the signedness.

(vsnprintf-like part)
When % is encountered
  Deal with %% case (escaped)
  (deal with field width, precision. Skip them.)
  Read length modifier
    if output type size is 0, set it to the gcc type size.
  Read conversion specifier
    if output type size is 0, set it to the gcc type size if no length modifier
        is involved.
  Perform trace write with conversion.
  Reset output type size to 0




