[Jan 1999 update: A similar patch was checked in on 1998-12-23. --- Seems plausible (or something like it - possible that *message and dp should just be "unsigned char *"). At least, according to the linux manpage I consulted, isspace expects an unsigned char converted to an int, not a char converted to an int, and the only valid negative value is EOF. Might be worth checking ANSI C.... -kingdon] Date: Mon, 17 Aug 1998 06:43:20 GMT From: Kenji Sugita To: bug-cvs@gnu.org Subject: Segmentaion violation occurs with 8bit log messages. >Submitter-Id: net >Originator: Kenji Sugita Kenji Sugita >Organization: net >Confidential: no >Synopsis: Couldn't use 8bit code for log messages. >Severity: non-critical >Priority: low >Category: cvs >Class: change-request >Release: cvs-1.10 >Environment: System: NEWS-OS sran362 6.0.2 #1 news5000 r4000 >Description: Segmentaion violation occurs with 8bit log messages. >How-To-Repeat: Using 8bit log messages for checkin. >Fix: Index: subr.c =================================================================== RCS file: /net/sran362/mnt3/tools/cvs-master/cvs/cvs-1.9/src/subr.c,v retrieving revision 1.1.1.1 diff -u -a -r1.1.1.1 subr.c --- subr.c 1996/11/11 01:44:50 1.1.1.1 +++ subr.c 1998/08/17 05:30:19 @@ -302,13 +302,13 @@ make_message_rcslegal (message) char *message; { - if ((message == NULL) || (*message == '\0') || isspace (*message)) + if ((message == NULL) || (*message == '\0') || isspace ((unsigned char)*message)) { char *t; if (message) for (t = message; *t; t++) - if (!isspace (*t)) + if (!isspace ((unsigned char)*t)) return message; return "*** empty log message ***\n"; Index: subr.c =================================================================== RCS file: /net/sran362/mnt3/tools/cvs-master/cvs/cvs-1.10/src/subr.c,v retrieving revision 1.1.1.1 diff -u -a -r1.1.1.1 subr.c --- subr.c 1998/08/17 05:50:53 1.1.1.1 +++ subr.c 1998/08/17 06:16:51 @@ -534,7 +534,7 @@ } /* Backtrack to last non-space at end of string, and truncate. */ - while (dp > dst && isspace (dp[-1])) + while (dp > dst && isspace ((unsigned char)dp[-1])) --dp; *dp = '\0';