Annotation of researchv10dc/libI77/fmtlib.c, revision 1.1.1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.