#include "stralloc.h"
int stralloc_catulong0(stralloc *sa,unsigned long u,unsigned int n)
{
unsigned int len;
unsigned long q;
char *s;
len = 1;
q = u;
while (q > 9) { ++len; q /= 10; }
if (len < n) len = n;
if (!stralloc_readyplus(sa,len)) return 0;
s = sa->s + sa->len;
sa->len += len;
while (len) { s[--len] = '0' + (u % 10); u /= 10; }
return 1;
}
int stralloc_catlong0(stralloc *sa,long l,unsigned int n)
{
if (l < 0) {
if (!stralloc_append(sa,"-")) return 0;
l = -l;
}
return stralloc_catulong0(sa,l,n);
}
|