diff options
Diffstat (limited to 'riemann.fmi.uni-sofia.bg/ngetty/ngetty-1.1/fmt_number.h')
| -rw-r--r-- | riemann.fmi.uni-sofia.bg/ngetty/ngetty-1.1/fmt_number.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/riemann.fmi.uni-sofia.bg/ngetty/ngetty-1.1/fmt_number.h b/riemann.fmi.uni-sofia.bg/ngetty/ngetty-1.1/fmt_number.h new file mode 100644 index 0000000..34ba68d --- /dev/null +++ b/riemann.fmi.uni-sofia.bg/ngetty/ngetty-1.1/fmt_number.h @@ -0,0 +1,16 @@ +#define fmt_number_macro(f,type,base) \ +unsigned int f(char *s, type u) {\ + type tmp=u;\ + unsigned int len=0;\ + do { tmp /=base; ++len; } while(tmp);\ + if (s) {\ + s +=len;\ + do {\ + unsigned char c = u%base;\ + if (base <= 10) *--s = c+'0';\ + else *--s = (c<10) ? c+'0' : c-10+'a';\ + u /=base;\ + } while (u);\ + }\ + return len;\ +} |
