mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-05-24 14:55:46 -04:00
Got rid of type-casting into isFOO() and toFOO() functions by
using static inline functions that take a signed char pointer.
This commit is contained in:
@@ -340,7 +340,7 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
|
||||
if (am_root) {
|
||||
p = lp_uid(i);
|
||||
if (!name_to_uid(p, &uid)) {
|
||||
if (!isdigit(*(unsigned char *)p)) {
|
||||
if (!isDigit(p)) {
|
||||
rprintf(FLOG, "Invalid uid %s\n", p);
|
||||
io_printf(f_out, "@ERROR: invalid uid %s\n", p);
|
||||
return -1;
|
||||
@@ -350,7 +350,7 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
|
||||
|
||||
p = lp_gid(i);
|
||||
if (!name_to_gid(p, &gid)) {
|
||||
if (!isdigit(*(unsigned char *)p)) {
|
||||
if (!isDigit(p)) {
|
||||
rprintf(FLOG, "Invalid gid %s\n", p);
|
||||
io_printf(f_out, "@ERROR: invalid gid %s\n", p);
|
||||
return -1;
|
||||
|
||||
@@ -524,12 +524,11 @@ static int strwicmp(char *psz1, char *psz2)
|
||||
/* sync the strings on first non-whitespace */
|
||||
while (1)
|
||||
{
|
||||
while (isspace(* (unsigned char *) psz1))
|
||||
while (isSpace(psz1))
|
||||
psz1++;
|
||||
while (isspace(* (unsigned char *) psz2))
|
||||
while (isSpace(psz2))
|
||||
psz2++;
|
||||
if (toupper(* (unsigned char *) psz1) != toupper(* (unsigned char *) psz2)
|
||||
|| *psz1 == '\0' || *psz2 == '\0')
|
||||
if (toUpper(psz1) != toUpper(psz2) || *psz1 == '\0' || *psz2 == '\0')
|
||||
break;
|
||||
psz1++;
|
||||
psz2++;
|
||||
|
||||
12
log.c
12
log.c
@@ -214,11 +214,11 @@ static void filtered_fwrite(FILE *f, const char *buf, int len, int use_isprint)
|
||||
for (s = buf; s < end; s++) {
|
||||
if ((s < end - 4
|
||||
&& *s == '\\' && s[1] == '#'
|
||||
&& isdigit(*(uchar*)(s+2))
|
||||
&& isdigit(*(uchar*)(s+3))
|
||||
&& isdigit(*(uchar*)(s+4)))
|
||||
&& isDigit(s + 2)
|
||||
&& isDigit(s + 3)
|
||||
&& isDigit(s + 4))
|
||||
|| (*s != '\t'
|
||||
&& ((use_isprint && !isprint(*(uchar*)s))
|
||||
&& ((use_isprint && !isPrint(s))
|
||||
|| *(uchar*)s < ' '))) {
|
||||
if (s != buf && fwrite(buf, s - buf, 1, f) != 1)
|
||||
exit_cleanup(RERR_MESSAGEIO);
|
||||
@@ -445,7 +445,7 @@ static void log_formatted(enum logcode code, char *format, char *op,
|
||||
n = fmt + 1;
|
||||
if (*p == '-')
|
||||
*n++ = *p++;
|
||||
while (isdigit(*(uchar*)p) && n - fmt < (int)(sizeof fmt) - 8)
|
||||
while (isDigit(p) && n - fmt < (int)(sizeof fmt) - 8)
|
||||
*n++ = *p++;
|
||||
if (!*p)
|
||||
break;
|
||||
@@ -677,7 +677,7 @@ int log_format_has(const char *format, char esc)
|
||||
for (p = format; (p = strchr(p, '%')) != NULL; ) {
|
||||
if (*++p == '-')
|
||||
p++;
|
||||
while (isdigit(*(uchar*)p))
|
||||
while (isDigit(p))
|
||||
p++;
|
||||
if (!*p)
|
||||
break;
|
||||
|
||||
@@ -715,9 +715,9 @@ static OFF_T parse_size_arg(char **size_arg, char def_suf)
|
||||
const char *arg;
|
||||
OFF_T size = 1;
|
||||
|
||||
for (arg = *size_arg; isdigit(*(uchar*)arg); arg++) {}
|
||||
for (arg = *size_arg; isDigit(arg); arg++) {}
|
||||
if (*arg == '.')
|
||||
for (arg++; isdigit(*(uchar*)arg); arg++) {}
|
||||
for (arg++; isDigit(arg); arg++) {}
|
||||
switch (*arg && *arg != '+' && *arg != '-' ? *arg++ : def_suf) {
|
||||
case 'b': case 'B':
|
||||
reps = 0;
|
||||
|
||||
4
params.c
4
params.c
@@ -165,7 +165,7 @@ static int Continuation( char *line, int pos )
|
||||
*/
|
||||
{
|
||||
pos--;
|
||||
while( (pos >= 0) && isspace(((unsigned char *)line)[pos]) )
|
||||
while( pos >= 0 && isSpace(line + pos) )
|
||||
pos--;
|
||||
|
||||
return( ((pos >= 0) && ('\\' == line[pos])) ? pos : -1 );
|
||||
@@ -387,7 +387,7 @@ static BOOL Parameter( FILE *InFile, BOOL (*pfunc)(char *, char *), int c )
|
||||
c = 0;
|
||||
else
|
||||
{
|
||||
for( end = i; (end >= 0) && isspace(((unsigned char *) bufr)[end]); end-- )
|
||||
for( end = i; end >= 0 && isSpace(bufr + end); end-- )
|
||||
;
|
||||
c = getc( InFile );
|
||||
}
|
||||
|
||||
42
rsync.h
42
rsync.h
@@ -885,3 +885,45 @@ int inet_pton(int af, const char *src, void *dst);
|
||||
#ifdef MAINTAINER_MODE
|
||||
const char *get_panic_action(void);
|
||||
#endif
|
||||
|
||||
static inline int
|
||||
isDigit(const char *ptr)
|
||||
{
|
||||
return isdigit(*(unsigned char *)ptr);
|
||||
}
|
||||
|
||||
static inline int
|
||||
isPrint(const char *ptr)
|
||||
{
|
||||
return isprint(*(unsigned char *)ptr);
|
||||
}
|
||||
|
||||
static inline int
|
||||
isSpace(const char *ptr)
|
||||
{
|
||||
return isspace(*(unsigned char *)ptr);
|
||||
}
|
||||
|
||||
static inline int
|
||||
isLower(const char *ptr)
|
||||
{
|
||||
return islower(*(unsigned char *)ptr);
|
||||
}
|
||||
|
||||
static inline int
|
||||
isUpper(const char *ptr)
|
||||
{
|
||||
return isupper(*(unsigned char *)ptr);
|
||||
}
|
||||
|
||||
static inline int
|
||||
toLower(const char *ptr)
|
||||
{
|
||||
return tolower(*(unsigned char *)ptr);
|
||||
}
|
||||
|
||||
static inline int
|
||||
toUpper(const char *ptr)
|
||||
{
|
||||
return toupper(*(unsigned char *)ptr);
|
||||
}
|
||||
|
||||
2
socket.c
2
socket.c
@@ -95,7 +95,7 @@ static int establish_proxy_connection(int fd, char *host, int port,
|
||||
buffer);
|
||||
return -1;
|
||||
}
|
||||
for (cp = &buffer[5]; isdigit(*(uchar*)cp) || *cp == '.'; cp++) {}
|
||||
for (cp = &buffer[5]; isDigit(cp) || *cp == '.'; cp++) {}
|
||||
while (*cp == ' ')
|
||||
cp++;
|
||||
if (*cp != '2') {
|
||||
|
||||
4
token.c
4
token.c
@@ -49,8 +49,8 @@ void set_compression(char *fname)
|
||||
continue;
|
||||
}
|
||||
do {
|
||||
if (isupper(*(unsigned char *)f))
|
||||
*t++ = tolower(*(unsigned char *)f);
|
||||
if (isUpper(f))
|
||||
*t++ = toLower(f);
|
||||
else
|
||||
*t++ = *f;
|
||||
} while (*++f != ' ' && *f);
|
||||
|
||||
10
util.c
10
util.c
@@ -612,8 +612,8 @@ void glob_expand(char *base1, char ***argv_ptr, int *argc_ptr, int *maxargs_ptr)
|
||||
void strlower(char *s)
|
||||
{
|
||||
while (*s) {
|
||||
if (isupper(*(unsigned char *)s))
|
||||
*s = tolower(*(unsigned char *)s);
|
||||
if (isUpper(s))
|
||||
*s = toLower(s);
|
||||
s++;
|
||||
}
|
||||
}
|
||||
@@ -1139,7 +1139,7 @@ char *human_dnum(double dnum, int decimal_digits)
|
||||
{
|
||||
char *buf = human_num(dnum);
|
||||
int len = strlen(buf);
|
||||
if (isdigit(*(uchar*)(buf+len-1))) {
|
||||
if (isDigit(buf + len - 1)) {
|
||||
/* There's extra room in buf prior to the start of the num. */
|
||||
buf -= decimal_digits + 1;
|
||||
snprintf(buf, len + decimal_digits + 2, "%.*f", decimal_digits, dnum);
|
||||
@@ -1307,7 +1307,7 @@ const char *find_filename_suffix(const char *fn, int fn_len, int *len_ptr)
|
||||
if (strcmp(s+1, "orig") == 0)
|
||||
continue;
|
||||
} else if (s_len > 2 && had_tilde
|
||||
&& s[1] == '~' && isdigit(*(uchar*)(s+2)))
|
||||
&& s[1] == '~' && isDigit(s + 2))
|
||||
continue;
|
||||
*len_ptr = s_len;
|
||||
suf = s;
|
||||
@@ -1315,7 +1315,7 @@ const char *find_filename_suffix(const char *fn, int fn_len, int *len_ptr)
|
||||
break;
|
||||
/* Determine if the suffix is all digits. */
|
||||
for (s++, s_len--; s_len > 0; s++, s_len--) {
|
||||
if (!isdigit(*(uchar*)s))
|
||||
if (!isDigit(s))
|
||||
return suf;
|
||||
}
|
||||
/* An all-digit suffix may not be that signficant. */
|
||||
|
||||
Reference in New Issue
Block a user