Annotation of researchv10no/sys/mkconf/cntdev.c, revision 1.1.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.