icompute.c 387 B

123456789101112131415161718192021
  1. /*
  2. * icompute.c - compute an integer
  3. */
  4. /* $Id$ */
  5. #include "loc_incl.h"
  6. /* This routine is used in doprnt.c as well as in tmpfile.c and tmpnam.c. */
  7. char *
  8. _i_compute(unsigned long val, int base, char *s, int nrdigits)
  9. {
  10. int c;
  11. c= val % base ;
  12. val /= base ;
  13. if (val || nrdigits > 1)
  14. s = _i_compute(val, base, s, nrdigits - 1);
  15. *s++ = (c>9 ? c-10+'a' : c+'0');
  16. return s;
  17. }