|
|
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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.