File: stralloc_num.c

package info (click to toggle)
safecat 1.13-2
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd, wheezy
  • size: 624 kB
  • ctags: 243
  • sloc: ansic: 2,042; makefile: 334; sh: 270
file content (35 lines) | stat: -rw-r--r-- 575 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include "stralloc.h"

int stralloc_catulong0(sa,u,n)
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(sa,l,n)
stralloc *sa;
long l;
unsigned int n;
{
  if (l < 0) {
    if (!stralloc_append(sa,"-")) return 0;
    l = -l;
  }
  return stralloc_catulong0(sa,l,n);
}