blob: f4291a103b9963279979e66e53ae81926f7f895f (
plain)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
/*
* Convert integer to string, with optional leading zeros.
* $Id$
* Copyright (c) 1997 by Tycho Softworks.
* For conditions of distribution and reuse see product license.
*/
#include <other/strcvt.h>
char *strint(long i, int z)
{
static char buf[30];
char b1[30];
char *p = buf, *q = b1;
unsigned u;
if(!i)
{
if(z < 1)
z = 1;
while(z--)
*(p++) = '0';
*p = 0;
return buf;
}
if((i < 0) && !z)
{
i = -i;
buf[0] = '-';
++p;
}
u = (unsigned)i;
while(u > 0)
{
*(q++) = (char)(u % 10) + '0';
u /= 10;
}
*q = 0;
z -= strlen(b1);
while(z-- > 0)
*(p++) = '0';
while(q > b1)
*(p++) = *(--q);
*p = 0;
return buf;
}
|