Annotation of researchv10no/sys/mkconf/cntdev.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * routines for
        !             3:  * ACNT: print only count, which is in id
        !             4:  * APARAM: print only count from id, but just as tag, not tagcnt
        !             5:  */
        !             6: 
        !             7: #include "mkconf.h"
        !             8: 
        !             9: int
        !            10: cntsyntax(dp, ap, n)
        !            11: register Dev *dp;
        !            12: char **ap;
        !            13: int n;
        !            14: {
        !            15:        register Dev *ep, *bp;
        !            16: 
        !            17:        if (n > 0)
        !            18:                fprint(STDERR, "%s: superfluous junk ignored\n", dp->mdev->name);
        !            19:        for (ep = dlist, bp = NULL; ep; ) {
        !            20:                if (ep->mdev != dp->mdev) {
        !            21:                        bp = ep;
        !            22:                        ep = ep->next;
        !            23:                        continue;
        !            24:                }
        !            25:                if ((dp->mdev->flags & FDUPOK) == 0) {
        !            26:                        fprint(STDERR, "%s: multiply declared\n", dp->mdev->name);
        !            27:                        errs++;
        !            28:                        return (1);
        !            29:                }
        !            30:                /*
        !            31:                 * dup but ok; delete the old one
        !            32:                 */
        !            33:                if (bp == NULL) {
        !            34:                        dlist = ep->next;
        !            35:                        free((char *)ep);
        !            36:                        ep = dlist;
        !            37:                }
        !            38:                else {
        !            39:                        bp->next = ep->next;
        !            40:                        free((char *)ep);
        !            41:                        ep = bp->next;
        !            42:                }
        !            43:        }
        !            44:        return (0);
        !            45: }
        !            46: 
        !            47: int
        !            48: cntputaddr(fd, dp)
        !            49: int fd;
        !            50: register Dev *dp;
        !            51: {
        !            52: 
        !            53:        fprint(fd, "int %scnt = %d;\n", dp->mdev->tag, dp->id);
        !            54:        putstrs(fd, dp->mdev, dp->id);
        !            55: }
        !            56: 
        !            57: int
        !            58: prmputaddr(fd, dp)
        !            59: int fd;
        !            60: register Dev *dp;
        !            61: {
        !            62: 
        !            63:        fprint(fd, "int %s = %d;\n", dp->mdev->tag, dp->id);
        !            64:        putstrs(fd, dp->mdev, dp->id);
        !            65: }

unix.superglobalmegacorp.com

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