Annotation of 43BSDReno/sys/stand/printn.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * Copyright (c) 1982, 1986 Regents of the University of California.
        !             3:  * All rights reserved.  The Berkeley software License Agreement
        !             4:  * specifies the terms and conditions for redistribution.
        !             5:  *
        !             6:  *     @(#)printn.c    7.2 (Berkeley) 3/15/90
        !             7:  */
        !             8: 
        !             9: #include "sys/param.h"
        !            10: 
        !            11: /*
        !            12:  * Printn prints a number n in base b.
        !            13:  * We don't use recursion to avoid deep kernel stacks.
        !            14:  */
        !            15: printn(n, b)
        !            16:        u_long n;
        !            17:        int b;
        !            18: {
        !            19:        register char *cp;
        !            20:        char prbuf[11];
        !            21: 
        !            22:        if (b == 10 && (int)n < 0) {
        !            23:                putchar('-');
        !            24:                n = (unsigned)(-(int)n);
        !            25:        }
        !            26:        cp = prbuf;
        !            27:        do {
        !            28:                *cp++ = "0123456789abcdef"[n%b];
        !            29:                n /= b;
        !            30:        } while (n);
        !            31:        do
        !            32:                putchar(*--cp);
        !            33:        while (cp > prbuf);
        !            34: }

unix.superglobalmegacorp.com

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