From 07a874fd9b990c4ea1e370d350fc77f9ecc171b5 Mon Sep 17 00:00:00 2001 From: Martin Pool Date: Tue, 9 Apr 2002 06:15:13 +0000 Subject: [PATCH] Correction from Nelson Beebe: argument to functions such as isspace() must be an int, not a char. This could cause sign-extension problems. --- exclude.c | 43 ++++++++++++++++++++++--------------------- params.c | 4 ++-- util.c | 3 ++- 3 files changed, 26 insertions(+), 24 deletions(-) diff --git a/exclude.c b/exclude.c index 55c48a1a..27dd303b 100644 --- a/exclude.c +++ b/exclude.c @@ -1,22 +1,23 @@ /* -*- c-file-style: "linux" -*- - - Copyright (C) 1996-2001 by Andrew Tridgell - Copyright (C) 1996 by Paul Mackerras - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ + * + * Copyright (C) 1996-2001 by Andrew Tridgell + * Copyright (C) 1996 by Paul Mackerras + * Copyright (C) 2002 by Martin Pool + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ /* a lot of this stuff was originally derived from GNU tar, although it has now changed so much that it is hard to tell :) */ @@ -30,7 +31,7 @@ extern int delete_mode; static struct exclude_struct **exclude_list; -/* build an exclude structure given a exclude pattern */ +/** Build an exclude structure given a exclude pattern */ static struct exclude_struct *make_exclude(const char *pattern, int include) { struct exclude_struct *ret; @@ -334,7 +335,7 @@ char *get_exclude_tok(char *p) return(NULL); /* Skip over any initial spaces */ - while(isspace(*s)) + while(isspace((int) *s)) s++; /* Are we at the end of the string? */ @@ -347,7 +348,7 @@ char *get_exclude_tok(char *p) s+=2; /* Skip to the next space or the end of the string */ - while(!isspace(*s) && *s!='\0') + while(!isspace((int) *s) && *s != '\0') s++; } else { t=NULL; diff --git a/params.c b/params.c index d87961b8..6d02053e 100644 --- a/params.c +++ b/params.c @@ -164,7 +164,7 @@ static int Continuation( char *line, int pos ) */ { pos--; - while( (pos >= 0) && isspace(line[pos]) ) + while( (pos >= 0) && isspace((int) line[pos]) ) pos--; return( ((pos >= 0) && ('\\' == line[pos])) ? pos : -1 ); @@ -386,7 +386,7 @@ static BOOL Parameter( FILE *InFile, BOOL (*pfunc)(char *, char *), int c ) c = 0; else { - for( end = i; (end >= 0) && isspace(bufr[end]); end-- ) + for( end = i; (end >= 0) && isspace((int) bufr[end]); end-- ) ; c = getc( InFile ); } diff --git a/util.c b/util.c index 21ace4df..bdde8b45 100644 --- a/util.c +++ b/util.c @@ -532,7 +532,8 @@ void glob_expand(char *base1, char **argv, int *argc, int maxargs) void strlower(char *s) { while (*s) { - if (isupper(*s)) *s = tolower(*s); + if (isupper((int) *s)) + *s = tolower((int) *s); s++; } } -- 2.34.1