Annotation of researchv10no/cmd/dist/v10/canonsys.c, revision 1.1

1.1     ! root        1: #include <stdio.h>
        !             2: #include <string.h>
        !             3: 
        !             4: extern FILE *popen();
        !             5: 
        !             6: /* use qns to canonicalize names */
        !             7: void
        !             8: canonsys(char *sys, char cansys[])
        !             9: {
        !            10:        char cmd[1000], *p;
        !            11:        FILE *fp;
        !            12: 
        !            13:        if (strncmp(sys, "dk!", 3) == 0)
        !            14:                sprintf(cmd, "qns value name %s,dk", sys + 3);
        !            15:        else if (strncmp(sys, "tcp!", 4) == 0)
        !            16:                sprintf(cmd, "qns value name %s,dom", sys + 4);
        !            17:        else if (strchr(sys, '/'))
        !            18:                sprintf(cmd, "qns value name %s,dk", sys);
        !            19:        else {
        !            20:                strcpy(cansys, sys);
        !            21:                return;
        !            22:        }
        !            23:        fp = popen(cmd, "r");
        !            24:        if (fgets(cmd, sizeof cmd, fp)) {
        !            25:                strcpy(cansys, cmd);
        !            26:                if (p = strchr(cansys, '\n'))
        !            27:                        *p = '\0';
        !            28:        } else
        !            29:                strcpy(cansys, sys);
        !            30:        pclose(fp);
        !            31:        return;
        !            32: }

unix.superglobalmegacorp.com

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