Annotation of researchv10no/cmd/dist/v10/canonsys.c, revision 1.1.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.