1*13687Ssam #ifndef lint 2*13687Ssam static char sccsid[] = "@(#)uuname.c 5.1 (Berkeley) 07/02/83"; 3*13687Ssam #endif 4*13687Ssam 5*13687Ssam #include "uucp.h" 6*13687Ssam #include <signal.h> 7*13687Ssam 8*13687Ssam /******* 9*13687Ssam * uuname - return list of all remote systems 10*13687Ssam * recognized by uucp, or (with -l) the local 11*13687Ssam * uucp name. 12*13687Ssam * 13*13687Ssam * return codes: 0 | 1 (can't read) 14*13687Ssam */ 15*13687Ssam 16*13687Ssam main(argc,argv) 17*13687Ssam char *argv[]; 18*13687Ssam int argc; 19*13687Ssam { 20*13687Ssam int i; 21*13687Ssam int intrEXIT(); 22*13687Ssam FILE *np; 23*13687Ssam /* Increase buffers for s and prev. cornell!pavel */ 24*13687Ssam char prev[1000]; 25*13687Ssam char s[1000]; 26*13687Ssam 27*13687Ssam chdir(Spool); 28*13687Ssam strcpy(Progname, "uuname"); 29*13687Ssam signal(SIGILL, intrEXIT); 30*13687Ssam signal(SIGTRAP, intrEXIT); 31*13687Ssam signal(SIGIOT, intrEXIT); 32*13687Ssam signal(SIGEMT, intrEXIT); 33*13687Ssam signal(SIGFPE, intrEXIT); 34*13687Ssam signal(SIGBUS, intrEXIT); 35*13687Ssam signal(SIGSEGV, intrEXIT); 36*13687Ssam signal(SIGSYS, intrEXIT); 37*13687Ssam signal(SIGINT, intrEXIT); 38*13687Ssam signal(SIGHUP, intrEXIT); 39*13687Ssam signal(SIGQUIT, intrEXIT); 40*13687Ssam signal(SIGTERM, intrEXIT); 41*13687Ssam 42*13687Ssam if(argv[1][0] == '-' && argv[1][1] == 'l') { 43*13687Ssam uucpname(s); 44*13687Ssam printf("%s\n",s); 45*13687Ssam exit(0); 46*13687Ssam } 47*13687Ssam if(argc != 1) {printf("Usage: uuname [-l]\n"); exit(1);} 48*13687Ssam if((np = fopen(SYSFILE,"r")) == NULL) { 49*13687Ssam printf("%s (name file) protected\n",SYSFILE); 50*13687Ssam exit(1); 51*13687Ssam } 52*13687Ssam while ( cfgets(s,sizeof(s),np) != NULL ) { 53*13687Ssam for(i=0; s[i]!=' ' && s[i]!='\t'; i++) 54*13687Ssam ; 55*13687Ssam s[i]='\0'; 56*13687Ssam if (strcmp(s, prev) == SAME) 57*13687Ssam continue; 58*13687Ssam if(s[0]=='x' && s[1]=='x' && s[2]=='x') 59*13687Ssam continue; 60*13687Ssam printf("%s\n",s); 61*13687Ssam strcpy(prev, s); 62*13687Ssam } 63*13687Ssam 64*13687Ssam exit(0); 65*13687Ssam } 66*13687Ssam intrEXIT(inter) 67*13687Ssam { 68*13687Ssam exit(inter); 69*13687Ssam } 70