|
|
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.