tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Extension to snprintb(3)
In article <Pine.NEB.4.64.0905040425310.2990%quicky.whooppee.com@localhost>,
Paul Goyette <paul%whooppee.com@localhost> wrote:
>Folks,
>
>Having recently purchased a couple of new processors, and trying to make
>the output from cpuctl(8) look reasonable when decoding the various CPU
>features, it's become apparent that the current snprintb(3) is somewhat
>awkward to use. For large bit masks, one either has to manually "split"
>the desired value across multiple calls (which leads to drastiscally
>uneven line lengths and/or an unnecessarily large number of short lines)
>or suffer from excessively long lines.
>
>I propose a modified version of snprintb(3) which fills its output
>buffer only with complete bit/field values. In addition to the current
>return value, this modified version would take an additional u_quad_t
>argument which would be set to the bit(s) that were NOT decoded in the
>current output. This would allow one to repeatedly call the new
>function, with a fixed-sized buffer, until all bits were decoded, and
>would result in output lines that were reasonably equal in length.
>
>Is this a reasonable idea? Any suggestion on what this new function
>should be called?
>
>int snprintbx(char *buf, size_t buflen, const char *fmt, u_quad_t *val);
Sounds ok to me.
christos
Home |
Main Index |
Thread Index |
Old Index