- 'c' -> adjust ("", [toEnum (toint u)])
- 'd' -> adjust (fmti u)
- 'x' -> adjust ("", fmtu 16 u)
- 'o' -> adjust ("", fmtu 8 u)
- 'u' -> adjust ("", fmtu 10 u)
- 'e' -> adjust (dfmt' c prec u)
- 'f' -> adjust (dfmt' c prec u)
- 'g' -> adjust (dfmt' c prec u)
- 's' -> adjust ("", tostr u)
- c -> perror ("bad formatting char " ++ [c])
+ 'c' -> adjust ("", [toEnum (toint u)])
+ 'd' -> adjust' (fmti prec u)
+ 'i' -> adjust' (fmti prec u)
+ 'x' -> adjust ("", fmtu 16 prec u)
+ 'X' -> adjust ("", map toUpper $ fmtu 16 prec u)
+ 'o' -> adjust ("", fmtu 8 prec u)
+ 'u' -> adjust ("", fmtu 10 prec u)
+ 'e' -> adjust' (dfmt' c prec u)
+ 'E' -> adjust' (dfmt' c prec u)
+ 'f' -> adjust' (dfmt' c prec u)
+ 'g' -> adjust' (dfmt' c prec u)
+ 'G' -> adjust' (dfmt' c prec u)
+ 's' -> adjust ("", tostr prec u)
+ _ -> perror ("bad formatting char " ++ [c])