|
|
researchv10 Norman
/*
* routines for
* ACNT: print only count, which is in id
* APARAM: print only count from id, but just as tag, not tagcnt
*/
#include "mkconf.h"
int
cntsyntax(dp, ap, n)
register Dev *dp;
char **ap;
int n;
{
register Dev *ep, *bp;
if (n > 0)
fprint(STDERR, "%s: superfluous junk ignored\n", dp->mdev->name);
for (ep = dlist, bp = NULL; ep; ) {
if (ep->mdev != dp->mdev) {
bp = ep;
ep = ep->next;
continue;
}
if ((dp->mdev->flags & FDUPOK) == 0) {
fprint(STDERR, "%s: multiply declared\n", dp->mdev->name);
errs++;
return (1);
}
/*
* dup but ok; delete the old one
*/
if (bp == NULL) {
dlist = ep->next;
free((char *)ep);
ep = dlist;
}
else {
bp->next = ep->next;
free((char *)ep);
ep = bp->next;
}
}
return (0);
}
int
cntputaddr(fd, dp)
int fd;
register Dev *dp;
{
fprint(fd, "int %scnt = %d;\n", dp->mdev->tag, dp->id);
putstrs(fd, dp->mdev, dp->id);
}
int
prmputaddr(fd, dp)
int fd;
register Dev *dp;
{
fprint(fd, "int %s = %d;\n", dp->mdev->tag, dp->id);
putstrs(fd, dp->mdev, dp->id);
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.