Logo Search packages:      
Sourcecode: bglibs version File versions

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

Append an unsigned long long integer, optionally padded to a minimum width

Definition at line 22 of file catullnum.c.

References len, s, and str_realloc.

Referenced by str_catull(), str_catuwll(), str_catxll(), and str_catxwll().

{
  unsigned long 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