#include "iobuf.h"
static int obuf_putuw_rec(obuf* out, unsigned long data,
unsigned width, char pad)
{
if (width) --width;
if (data >= 10) {
if (!obuf_putuw_rec(out, data/10, width, pad)) return 0;
}
else {
if (!obuf_pad(out, width, pad)) return 0;
}
return obuf_putc(out, (data % 10) + '0');
}
int obuf_putuw(obuf* out, unsigned long data, unsigned width, char pad)
{
if (data < 10) {
if (width && !obuf_pad(out, --width, pad)) return 0;
return obuf_putc(out, data + '0');
}
return obuf_putuw_rec(out, data, width, pad);
}
syntax highlighted by Code2HTML, v. 0.9.1