File:  [Research Unix] / researchv10no / cmd / dist / v10 / canonsys.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:21:35 2018 UTC (8 years, 1 month ago) by root
Branches: belllabs, MAIN
CVS tags: researchv10, HEAD
researchv10 Norman

#include <stdio.h>
#include <string.h>

extern FILE *popen();

/* use qns to canonicalize names */
void
canonsys(char *sys, char cansys[])
{
	char cmd[1000], *p;
	FILE *fp;

	if (strncmp(sys, "dk!", 3) == 0)
		sprintf(cmd, "qns value name %s,dk", sys + 3);
	else if (strncmp(sys, "tcp!", 4) == 0)
		sprintf(cmd, "qns value name %s,dom", sys + 4);
	else if (strchr(sys, '/'))
		sprintf(cmd, "qns value name %s,dk", sys);
	else {
		strcpy(cansys, sys);
		return;
	}
	fp = popen(cmd, "r");
	if (fgets(cmd, sizeof cmd, fp)) {
		strcpy(cansys, cmd);
		if (p = strchr(cansys, '\n'))
			*p = '\0';
	} else
		strcpy(cansys, sys);
	pclose(fp);
	return;
}

unix.superglobalmegacorp.com

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