The current header formatting is a giant format string that
- changes global state during the format process
- selects one of 4 different format strings and then does further
conditional logic on them
- for one value uses an argument, for others, uses global variables.
- makes it hard to understand what the header will actually look like.
Change name length to 8 while here to avoid wasting space.
Change this to build up the header and return it