Annotation of xinu/sys/namrepl.c, revision 1.1.1.1

1.1       root        1: /* namrepl.c - namrepl */
                      2: 
                      3: #include <conf.h>
                      4: #include <kernel.h>
                      5: #include <name.h>
                      6: 
                      7: /*------------------------------------------------------------------------
                      8:  *  namrepl  -  using namespace, replace name with (newname,device)
                      9:  *------------------------------------------------------------------------
                     10:  */
                     11: SYSCALL        namrepl(name, newname)
                     12: char   *name;
                     13: char   *newname;
                     14: {
                     15:        register struct nament  *nptr;
                     16:        register struct nament  *nlast;
                     17:        int     plen, rlen;
                     18:        PStype  ps;
                     19:        
                     20:        disable(ps);
                     21:        nlast = &Nam.nametab[Nam.nnames];
                     22:        for (nptr= Nam.nametab ; nptr<nlast ; nptr++) {
                     23:                plen = strlen(nptr->npre);
                     24:                if (strncmp(nptr->npre, name, plen) == 0) {
                     25:                        rlen = strlen(nptr->nrepl);
                     26:                        if ((rlen+strlen(name)-plen) >= NAMLEN)
                     27:                                break;
                     28:                        strcpy(newname, nptr->nrepl);
                     29:                        strcat(newname, name + plen);
                     30:                        restore(ps);
                     31:                        return(nptr->ndev);
                     32:                }
                     33:        }
                     34:        strcpy(newname, "");
                     35:        restore(ps);
                     36:        return(SYSERR);
                     37: }

unix.superglobalmegacorp.com

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