From cd390083ad1fea1ddb93df9c5560eba0a9f26a0d Mon Sep 17 00:00:00 2001 From: blueswir1 Date: Sun, 16 Nov 2008 13:53:32 +0000 Subject: [PATCH] Attached patch fixes a series of this warning when compiling on NetBSD: warning: array subscript has type 'char' Signed-off-by: Christoph Egger git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5727 c046a42c-6fe2-441c-8c8c-71466251a162 --- audio/audio.c | 4 ++-- block-vvfat.c | 2 +- cutils.c | 2 +- monitor.c | 38 ++++++++++++++++++------------------- net.c | 2 +- qemu-common.h | 16 ++++++++++++++++ readline.c | 4 ++-- target-ppc/translate_init.c | 2 +- 8 files changed, 43 insertions(+), 27 deletions(-) diff --git a/audio/audio.c b/audio/audio.c index f24215b871..3a30103abc 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -215,7 +215,7 @@ static char *audio_alloc_prefix (const char *s) pstrcat (r, len + sizeof (qemu_prefix), s); for (i = 0; i < len; ++i) { - u[i] = toupper (u[i]); + u[i] = qemu_toupper(u[i]); } } return r; @@ -470,7 +470,7 @@ static void audio_process_options (const char *prefix, /* copy while upper-casing, including trailing zero */ for (i = 0; i <= preflen; ++i) { - optname[i + sizeof (qemu_prefix) - 1] = toupper (prefix[i]); + optname[i + sizeof (qemu_prefix) - 1] = qemu_toupper(prefix[i]); } pstrcat (optname, optlen, "_"); pstrcat (optname, optlen, opt->name); diff --git a/block-vvfat.c b/block-vvfat.c index 5fcf7462e8..7d4c934d3f 100644 --- a/block-vvfat.c +++ b/block-vvfat.c @@ -1056,7 +1056,7 @@ DLOG(if (stderr == NULL) { i = strrchr(dirname, ':') - dirname; assert(i >= 3); - if (dirname[i-2] == ':' && isalpha(dirname[i-1])) + if (dirname[i-2] == ':' && qemu_isalpha(dirname[i-1])) /* workaround for DOS drive names */ dirname += i-1; else diff --git a/cutils.c b/cutils.c index 9ef2fa627c..142347d6ac 100644 --- a/cutils.c +++ b/cutils.c @@ -72,7 +72,7 @@ int stristart(const char *str, const char *val, const char **ptr) p = str; q = val; while (*q != '\0') { - if (toupper(*p) != toupper(*q)) + if (qemu_toupper(*p) != qemu_toupper(*q)) return 0; p++; q++; diff --git a/monitor.c b/monitor.c index 8fff3aa752..22360fce30 100644 --- a/monitor.c +++ b/monitor.c @@ -1933,7 +1933,7 @@ static void next(void) { if (pch != '\0') { pch++; - while (isspace(*pch)) + while (qemu_isspace(*pch)) pch++; } } @@ -1992,7 +1992,7 @@ static int64_t expr_unary(void) *q++ = *pch; pch++; } - while (isspace(*pch)) + while (qemu_isspace(*pch)) pch++; *q = 0; ret = get_monitor_def(®, buf); @@ -2017,7 +2017,7 @@ static int64_t expr_unary(void) expr_error("invalid char in expression"); } pch = p; - while (isspace(*pch)) + while (qemu_isspace(*pch)) pch++; break; } @@ -2111,7 +2111,7 @@ static int get_expr(int64_t *pval, const char **pp) *pp = pch; return -1; } - while (isspace(*pch)) + while (qemu_isspace(*pch)) pch++; *pval = expr_sum(); *pp = pch; @@ -2126,7 +2126,7 @@ static int get_str(char *buf, int buf_size, const char **pp) q = buf; p = *pp; - while (isspace(*p)) + while (qemu_isspace(*p)) p++; if (*p == '\0') { fail: @@ -2171,7 +2171,7 @@ static int get_str(char *buf, int buf_size, const char **pp) } p++; } else { - while (*p != '\0' && !isspace(*p)) { + while (*p != '\0' && !qemu_isspace(*p)) { if ((q - buf) < buf_size - 1) { *q++ = *p; } @@ -2217,12 +2217,12 @@ static void monitor_handle_command(const char *cmdline) /* extract the command name */ p = cmdline; q = cmdname; - while (isspace(*p)) + while (qemu_isspace(*p)) p++; if (*p == '\0') return; pstart = p; - while (*p != '\0' && *p != '/' && !isspace(*p)) + while (*p != '\0' && *p != '/' && !qemu_isspace(*p)) p++; len = p - pstart; if (len > sizeof(cmdname) - 1) @@ -2258,7 +2258,7 @@ static void monitor_handle_command(const char *cmdline) int ret; char *str; - while (isspace(*p)) + while (qemu_isspace(*p)) p++; if (*typestr == '?') { typestr++; @@ -2299,15 +2299,15 @@ static void monitor_handle_command(const char *cmdline) { int count, format, size; - while (isspace(*p)) + while (qemu_isspace(*p)) p++; if (*p == '/') { /* format found */ p++; count = 1; - if (isdigit(*p)) { + if (qemu_isdigit(*p)) { count = 0; - while (isdigit(*p)) { + while (qemu_isdigit(*p)) { count = count * 10 + (*p - '0'); p++; } @@ -2346,7 +2346,7 @@ static void monitor_handle_command(const char *cmdline) } } next: - if (*p != '\0' && !isspace(*p)) { + if (*p != '\0' && !qemu_isspace(*p)) { term_printf("invalid char in format: '%c'\n", *p); goto fail; } @@ -2380,7 +2380,7 @@ static void monitor_handle_command(const char *cmdline) { int64_t val; - while (isspace(*p)) + while (qemu_isspace(*p)) p++; if (*typestr == '?' || *typestr == '.') { if (*typestr == '?') { @@ -2391,7 +2391,7 @@ static void monitor_handle_command(const char *cmdline) } else { if (*p == '.') { p++; - while (isspace(*p)) + while (qemu_isspace(*p)) p++; has_arg = 1; } else { @@ -2436,7 +2436,7 @@ static void monitor_handle_command(const char *cmdline) c = *typestr++; if (c == '\0') goto bad_type; - while (isspace(*p)) + while (qemu_isspace(*p)) p++; has_option = 0; if (*p == '-') { @@ -2461,7 +2461,7 @@ static void monitor_handle_command(const char *cmdline) } } /* check that all arguments were parsed */ - while (isspace(*p)) + while (qemu_isspace(*p)) p++; if (*p != '\0') { term_printf("%s: extraneous characters at the end of line\n", @@ -2609,7 +2609,7 @@ static void parse_cmdline(const char *cmdline, p = cmdline; nb_args = 0; for(;;) { - while (isspace(*p)) + while (qemu_isspace(*p)) p++; if (*p == '\0') break; @@ -2643,7 +2643,7 @@ void readline_find_completion(const char *cmdline) /* if the line ends with a space, it means we want to complete the next arg */ len = strlen(cmdline); - if (len > 0 && isspace(cmdline[len - 1])) { + if (len > 0 && qemu_isspace(cmdline[len - 1])) { if (nb_args >= MAX_ARGS) return; args[nb_args++] = qemu_strdup(""); diff --git a/net.c b/net.c index f94ff1b177..215df5d1bd 100644 --- a/net.c +++ b/net.c @@ -268,7 +268,7 @@ int parse_host_port(struct sockaddr_in *saddr, const char *str) if (buf[0] == '\0') { saddr->sin_addr.s_addr = 0; } else { - if (isdigit(buf[0])) { + if (qemu_isdigit(buf[0])) { if (!inet_aton(buf, &saddr->sin_addr)) return -1; } else { diff --git a/qemu-common.h b/qemu-common.h index 7831409fba..74eaa4dfc5 100644 --- a/qemu-common.h +++ b/qemu-common.h @@ -95,6 +95,22 @@ int strstart(const char *str, const char *val, const char **ptr); int stristart(const char *str, const char *val, const char **ptr); time_t mktimegm(struct tm *tm); +#define qemu_isalnum(c) isalnum((unsigned char)(c)) +#define qemu_isalpha(c) isalpha((unsigned char)(c)) +#define qemu_iscntrl(c) iscntrl((unsigned char)(c)) +#define qemu_isdigit(c) isdigit((unsigned char)(c)) +#define qemu_isgraph(c) isgraph((unsigned char)(c)) +#define qemu_islower(c) islower((unsigned char)(c)) +#define qemu_isprint(c) isprint((unsigned char)(c)) +#define qemu_ispunct(c) ispunct((unsigned char)(c)) +#define qemu_isspace(c) isspace((unsigned char)(c)) +#define qemu_isupper(c) isupper((unsigned char)(c)) +#define qemu_isxdigit(c) isxdigit((unsigned char)(c)) +#define qemu_tolower(c) tolower((unsigned char)(c)) +#define qemu_toupper(c) toupper((unsigned char)(c)) +#define qemu_isascii(c) isascii((unsigned char)(c)) +#define qemu_toascii(c) toascii((unsigned char)(c)) + void *qemu_malloc(size_t size); void *qemu_realloc(void *ptr, size_t size); void *qemu_mallocz(size_t size); diff --git a/readline.c b/readline.c index 81bc49120a..e1e963a2cd 100644 --- a/readline.c +++ b/readline.c @@ -169,7 +169,7 @@ static void term_backword(void) /* find first word (backwards) */ while (start > 0) { - if (!isspace(term_cmd_buf[start])) { + if (!qemu_isspace(term_cmd_buf[start])) { break; } @@ -178,7 +178,7 @@ static void term_backword(void) /* find first space (backwards) */ while (start > 0) { - if (isspace(term_cmd_buf[start])) { + if (qemu_isspace(term_cmd_buf[start])) { ++start; break; } diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c index 02590ae6e9..4208f3de8b 100644 --- a/target-ppc/translate_init.c +++ b/target-ppc/translate_init.c @@ -9458,7 +9458,7 @@ const ppc_def_t *cpu_ppc_find_by_name (const char *name) p = name; check_pvr: for (i = 0; i < 8; i++) { - if (!isxdigit(*p++)) + if (!qemu_isxdigit(*p++)) break; } if (i == 8)