|
|
1.1 root 1: /* @(#)fmtlib.c 1.2 */
2: #define MAXINTLENGTH 23
3: #ifdef KR_headers
4: char *f__icvt(value,ndigit,sign, base) long value; int *ndigit,*sign;
5: register int base;
6: #else
7: char *f__icvt(long value, int *ndigit, int *sign, int base)
8: #endif
9: { static char buf[MAXINTLENGTH+1];
10: register int i;
11: if(value>0) *sign=0;
12: else if(value<0)
13: { value = -value;
14: *sign= 1;
15: }
16: else
17: { *sign=0;
18: *ndigit=1;
19: buf[MAXINTLENGTH]='0';
20: return(&buf[MAXINTLENGTH]);
21: }
22: for(i=MAXINTLENGTH-1;value>0;i--)
23: { *(buf+i)=(int)(value%base)+'0';
24: value /= base;
25: }
26: *ndigit=MAXINTLENGTH-1-i;
27: return(&buf[i+1]);
28: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.