Commit 07a874fd authored by Martin Pool's avatar Martin Pool

Correction from Nelson Beebe: argument to functions such as isspace()

must be an int, not a char.  This could cause sign-extension problems.
parent e35080ce
/* -*- c-file-style: "linux" -*- /* -*- c-file-style: "linux" -*-
*
Copyright (C) 1996-2001 by Andrew Tridgell <tridge@samba.org> * Copyright (C) 1996-2001 by Andrew Tridgell <tridge@samba.org>
Copyright (C) 1996 by Paul Mackerras * 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 * This program is free software; you can redistribute it and/or modify
the Free Software Foundation; either version 2 of the License, or * it under the terms of the GNU General Public License as published by
(at your option) any later version. * 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 * This program is distributed in the hope that it will be useful,
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details. * 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 * You should have received a copy of the GNU General Public License
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * 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 /* a lot of this stuff was originally derived from GNU tar, although
it has now changed so much that it is hard to tell :) */ it has now changed so much that it is hard to tell :) */
...@@ -30,7 +31,7 @@ extern int delete_mode; ...@@ -30,7 +31,7 @@ extern int delete_mode;
static struct exclude_struct **exclude_list; 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) static struct exclude_struct *make_exclude(const char *pattern, int include)
{ {
struct exclude_struct *ret; struct exclude_struct *ret;
...@@ -334,7 +335,7 @@ char *get_exclude_tok(char *p) ...@@ -334,7 +335,7 @@ char *get_exclude_tok(char *p)
return(NULL); return(NULL);
/* Skip over any initial spaces */ /* Skip over any initial spaces */
while(isspace(*s)) while(isspace((int) *s))
s++; s++;
/* Are we at the end of the string? */ /* Are we at the end of the string? */
...@@ -347,7 +348,7 @@ char *get_exclude_tok(char *p) ...@@ -347,7 +348,7 @@ char *get_exclude_tok(char *p)
s+=2; s+=2;
/* Skip to the next space or the end of the string */ /* Skip to the next space or the end of the string */
while(!isspace(*s) && *s!='\0') while(!isspace((int) *s) && *s != '\0')
s++; s++;
} else { } else {
t=NULL; t=NULL;
......
...@@ -164,7 +164,7 @@ static int Continuation( char *line, int pos ) ...@@ -164,7 +164,7 @@ static int Continuation( char *line, int pos )
*/ */
{ {
pos--; pos--;
while( (pos >= 0) && isspace(line[pos]) ) while( (pos >= 0) && isspace((int) line[pos]) )
pos--; pos--;
return( ((pos >= 0) && ('\\' == line[pos])) ? pos : -1 ); return( ((pos >= 0) && ('\\' == line[pos])) ? pos : -1 );
...@@ -386,7 +386,7 @@ static BOOL Parameter( FILE *InFile, BOOL (*pfunc)(char *, char *), int c ) ...@@ -386,7 +386,7 @@ static BOOL Parameter( FILE *InFile, BOOL (*pfunc)(char *, char *), int c )
c = 0; c = 0;
else else
{ {
for( end = i; (end >= 0) && isspace(bufr[end]); end-- ) for( end = i; (end >= 0) && isspace((int) bufr[end]); end-- )
; ;
c = getc( InFile ); c = getc( InFile );
} }
......
...@@ -532,7 +532,8 @@ void glob_expand(char *base1, char **argv, int *argc, int maxargs) ...@@ -532,7 +532,8 @@ void glob_expand(char *base1, char **argv, int *argc, int maxargs)
void strlower(char *s) void strlower(char *s)
{ {
while (*s) { while (*s) {
if (isupper(*s)) *s = tolower(*s); if (isupper((int) *s))
*s = tolower((int) *s);
s++; s++;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment