Logo Search packages:      
Sourcecode: bglibs version File versions

int str_catunumw ( str s,
unsigned long  in,
unsigned  width,
char  pad,
unsigned  base,
const char *  digits 
)

Append an unsigned integer, optionally padded to a minimum width

Definition at line 21 of file catunum.c.

References len, s, and str_realloc.

Referenced by str_catu(), str_catuw(), str_catx(), and str_catxw().

{
  unsigned long tmp;
  unsigned size;
  unsigned padsize;
  unsigned i;
  
  if (in < base)
    size = 1;
  else
    for (tmp = in, size = 0; tmp; tmp /= base, ++size) ;
  padsize = (width > size) ? width - size : 0;
  if (!str_realloc(s, s->len + padsize+size)) return 0;
  while (padsize--)
    s->s[s->len++] = pad;
  for (i = size; i-- > 0; in /= base)
    s->s[s->len+i] = digits[in % base];
  s->len += size;
  s->s[s->len] = 0;
  return 1;
}


Generated by  Doxygen 1.6.0   Back to index