gww@marduk.UUCP (Gary Winiger) (09/05/87)
Subject: UUCP only accepts ' ' (space) as a separator following the system name in L.sys. +Fix Index: usr.bin/uucp/gnsys.c 4.3BSD +Fix Description: When scanning L.sys for a system name, the only acceptable separator between the system name and the rest of the line is ' ' (space). It would be nice to use any white space as well. Ie. a '\t'. Repeat-By: Use a character other than ' ' for the separator. Fix: Use isspace(). The attached code solves this problem at Elxsi. Gary.. {ucbvax!sun,lll-lcc!lll-tis,amdahl!altos86,bridge2}!elxsi!gww --------- cut --------- snip --------- :.,$w diff ------------- *** /tmp/,RCSt1001006 Wed Jul 1 16:44:58 1987 --- gnsys.c Wed Jul 1 16:25:28 1987 *************** *** 1,15 **** /* * $Log: gnsys.c,v $ * Revision 1.1 87/06/23 16:58:13 gww * Initial revision * */ #ifndef lint ! static char *ERcsId = "$Header: gnsys.c,v 1.1 87/06/23 16:58:13 gww Exp $ ENIX BSD"; static char sccsid[] = "@(#)gnsys.c 5.4 (Berkeley) 6/20/85"; #endif #include "uucp.h" #ifdef NDIR #include "ndir.h" #else --- 1,19 ---- /* * $Log: gnsys.c,v $ + * Revision 1.2 87/07/01 16:25:05 gww + * Permit any white space in L.sys line as a separator. + * * Revision 1.1 87/06/23 16:58:13 gww * Initial revision * */ #ifndef lint ! static char *ERcsId = "$Header: gnsys.c,v 1.2 87/07/01 16:25:05 gww Exp $ ENIX BSD"; static char sccsid[] = "@(#)gnsys.c 5.4 (Berkeley) 6/20/85"; #endif #include "uucp.h" + #include <ctype.h> #ifdef NDIR #include "ndir.h" #else *************** *** 94,102 **** fp = fopen(SYSFILE, "r"); ASSERT(fp != NULL, CANTOPEN, SYSFILE, 0); while (cfgets(line, sizeof(line), fp) != NULL) { ! p = index(line, ' '); ! if (p) ! *p = '\0'; if (strncmp(sname, line, SYSNSIZE) == SAME) { strncpy(sname, line, MAXBASENAME); break; --- 98,107 ---- fp = fopen(SYSFILE, "r"); ASSERT(fp != NULL, CANTOPEN, SYSFILE, 0); while (cfgets(line, sizeof(line), fp) != NULL) { ! p=line; ! while (!isspace(*p)) ! p++; ! *p = '\0'; if (strncmp(sname, line, SYSNSIZE) == SAME) { strncpy(sname, line, MAXBASENAME); break;