fmt_xlong writes an ASCII representation (0 to 9 and a to f,
base 16) of source to dest and returns the number of bytes
fmt_xlong does not append \0.
If dest equals FMT_LEN (i.e. is zero), fmt_xlong returns the
number of bytes it would have written.
For convenience, fmt.h defines the integer FMT_XLONG to be big enough to
contain every possible fmt_xlong output plus \0.