113687Ssam #ifndef lint 2*25143Sbloom static char sccsid[] = "@(#)uuname.c 5.3 (Berkeley) 10/09/85"; 313687Ssam #endif 413687Ssam 513687Ssam #include "uucp.h" 613687Ssam #include <signal.h> 713687Ssam 8*25143Sbloom /* 9*25143Sbloom * return list of all remote systems 10*25143Sbloom * recognized by uucp, or (with -l) the local uucp name. 1113687Ssam * 1213687Ssam * return codes: 0 | 1 (can't read) 1313687Ssam */ 14*25143Sbloom 15*25143Sbloom struct timeb Now; 1613687Ssam 1713687Ssam main(argc,argv) 1813687Ssam char *argv[]; 1913687Ssam int argc; 2013687Ssam { 2117844Sralph int ret; 2213687Ssam int i; 2313687Ssam int intrEXIT(); 2413687Ssam FILE *np; 2513687Ssam /* Increase buffers for s and prev. cornell!pavel */ 2613687Ssam char prev[1000]; 2713687Ssam char s[1000]; 2813687Ssam 2917844Sralph ret = chdir(Spool); 3017844Sralph ASSERT(ret >= 0, "CHDIR FAILED", Spool, ret); 3113687Ssam strcpy(Progname, "uuname"); 3213687Ssam signal(SIGILL, intrEXIT); 3313687Ssam signal(SIGTRAP, intrEXIT); 3413687Ssam signal(SIGIOT, intrEXIT); 3513687Ssam signal(SIGEMT, intrEXIT); 3613687Ssam signal(SIGFPE, intrEXIT); 3713687Ssam signal(SIGBUS, intrEXIT); 3813687Ssam signal(SIGSEGV, intrEXIT); 3913687Ssam signal(SIGSYS, intrEXIT); 4013687Ssam signal(SIGINT, intrEXIT); 4113687Ssam signal(SIGHUP, intrEXIT); 4213687Ssam signal(SIGQUIT, intrEXIT); 4313687Ssam signal(SIGTERM, intrEXIT); 4413687Ssam 4517844Sralph if(argc > 1 && argv[1][0] == '-' && argv[1][1] == 'l') { 4613687Ssam uucpname(s); 4713687Ssam printf("%s\n",s); 4813687Ssam exit(0); 4913687Ssam } 5013687Ssam if(argc != 1) {printf("Usage: uuname [-l]\n"); exit(1);} 5113687Ssam if((np = fopen(SYSFILE,"r")) == NULL) { 5213687Ssam printf("%s (name file) protected\n",SYSFILE); 5313687Ssam exit(1); 5413687Ssam } 5513687Ssam while ( cfgets(s,sizeof(s),np) != NULL ) { 5613687Ssam for(i=0; s[i]!=' ' && s[i]!='\t'; i++) 5713687Ssam ; 5813687Ssam s[i]='\0'; 5913687Ssam if (strcmp(s, prev) == SAME) 6013687Ssam continue; 6113687Ssam if(s[0]=='x' && s[1]=='x' && s[2]=='x') 6213687Ssam continue; 6313687Ssam printf("%s\n",s); 6413687Ssam strcpy(prev, s); 6513687Ssam } 6613687Ssam 6713687Ssam exit(0); 6813687Ssam } 6913687Ssam intrEXIT(inter) 7013687Ssam { 7113687Ssam exit(inter); 7213687Ssam } 7317844Sralph 7417844Sralph cleanup(code) 7517844Sralph int code; 7617844Sralph { 7717844Sralph exit(code); 7817844Sralph } 79