From 7ccfb2eb5f9d91bdb4139cb420a3b5f8deb2f6e8 Mon Sep 17 00:00:00 2001 From: blueswir1 Date: Sun, 14 Sep 2008 06:45:34 +0000 Subject: [PATCH] Fix warnings that would be caused by gcc flag -Wwrite-strings git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5206 c046a42c-6fe2-441c-8c8c-71466251a162 --- block-vmdk.c | 13 +++++++------ block.c | 2 +- exec.c | 2 +- gdbstub.c | 4 ++-- gdbstub.h | 2 +- hw/e1000.c | 2 +- hw/sh.h | 2 +- hw/tc58128.c | 4 ++-- hw/usb-net.c | 2 +- hw/usb-ohci.c | 4 ++-- linux-user/arm/nwfpe/fpopcode.h | 6 +++--- linux-user/strace.c | 29 +++++++++++++++-------------- m68k-dis.c | 16 ++++++++-------- sh4-dis.c | 16 ++++++++-------- slirp/ip_icmp.c | 8 ++------ slirp/ip_icmp.h | 3 ++- slirp/misc.c | 4 ++-- target-alpha/helper.c | 2 +- target-cris/translate.c | 2 +- vl.c | 19 +++++++++++-------- 20 files changed, 72 insertions(+), 70 deletions(-) diff --git a/block-vmdk.c b/block-vmdk.c index e85bd4298e..8d67c2f149 100644 --- a/block-vmdk.c +++ b/block-vmdk.c @@ -119,7 +119,7 @@ static uint32_t vmdk_read_cid(BlockDriverState *bs, int parent) BDRVVmdkState *s = bs->opaque; char desc[DESC_SIZE]; uint32_t cid; - char *p_name, *cid_str; + const char *p_name, *cid_str; size_t cid_str_size; /* the descriptor offset = 0x200 */ @@ -193,7 +193,7 @@ static int vmdk_snapshot_create(const char *filename, const char *backing_file) uint32_t gde_entries, gd_size; int64_t gd_offset, rgd_offset, capacity, gt_size; char p_desc[DESC_SIZE], s_desc[DESC_SIZE], hdr[HEADER_SIZE]; - char *desc_template = + static const char desc_template[] = "# Disk DescriptorFile\n" "version=1\n" "CID=%x\n" @@ -202,7 +202,7 @@ static int vmdk_snapshot_create(const char *filename, const char *backing_file) "parentFileNameHint=\"%s\"\n" "\n" "# Extent description\n" - "RW %lu SPARSE \"%s\"\n" + "RW %u SPARSE \"%s\"\n" "\n" "# The Disk Data Base \n" "#DDB\n" @@ -702,7 +702,7 @@ static int vmdk_create(const char *filename, int64_t total_size, int fd, i; VMDK4Header header; uint32_t tmp, magic, grains, gd_size, gt_size, gt_count; - char *desc_template = + static const char desc_template[] = "# Disk DescriptorFile\n" "version=1\n" "CID=%x\n" @@ -791,8 +791,9 @@ static int vmdk_create(const char *filename, int64_t total_size, real_filename = temp_str + 1; if ((temp_str = strrchr(real_filename, ':')) != NULL) real_filename = temp_str + 1; - snprintf(desc, sizeof(desc), desc_template, time(NULL), (unsigned long)total_size, - real_filename, (flags & BLOCK_FLAG_COMPAT6 ? 6 : 4), total_size / (63 * 16)); + snprintf(desc, sizeof(desc), desc_template, (unsigned int)time(NULL), + (unsigned long)total_size, real_filename, + (flags & BLOCK_FLAG_COMPAT6 ? 6 : 4), total_size / (63 * 16)); /* write the descriptor */ lseek(fd, le64_to_cpu(header.desc_offset) << 9, SEEK_SET); diff --git a/block.c b/block.c index 52c8f37a27..08fa299c71 100644 --- a/block.c +++ b/block.c @@ -190,7 +190,7 @@ void get_tmp_filename(char *filename, int size) void get_tmp_filename(char *filename, int size) { int fd; - char *tmpdir; + const char *tmpdir; /* XXX: race condition possible */ tmpdir = getenv("TMPDIR"); if (!tmpdir) diff --git a/exec.c b/exec.c index 5e306890c7..18f46cd25c 100644 --- a/exec.c +++ b/exec.c @@ -180,7 +180,7 @@ static int io_mem_watch; #endif /* log support */ -char *logfilename = "/tmp/qemu.log"; +const char *logfilename = "/tmp/qemu.log"; FILE *logfile; int loglevel; static int log_append = 0; diff --git a/gdbstub.c b/gdbstub.c index 98dd8891f3..117caf9115 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -205,7 +205,7 @@ static void hextomem(uint8_t *mem, const char *buf, int len) } /* return -1 if error, 0 if OK */ -static int put_packet(GDBState *s, char *buf) +static int put_packet(GDBState *s, const char *buf) { int len, csum, i; uint8_t *p; @@ -1259,7 +1259,7 @@ static void gdb_vm_stopped(void *opaque, int reason) %x - target_ulong argument printed in hex. %lx - 64-bit argument printed in hex. %s - string pointer (target_ulong) and length (int) pair. */ -void gdb_do_syscall(gdb_syscall_complete_cb cb, char *fmt, ...) +void gdb_do_syscall(gdb_syscall_complete_cb cb, const char *fmt, ...) { va_list va; char buf[256]; diff --git a/gdbstub.h b/gdbstub.h index e1c9efb803..ba65f938f6 100644 --- a/gdbstub.h +++ b/gdbstub.h @@ -6,7 +6,7 @@ typedef void (*gdb_syscall_complete_cb)(CPUState *env, target_ulong ret, target_ulong err); -void gdb_do_syscall(gdb_syscall_complete_cb cb, char *fmt, ...); +void gdb_do_syscall(gdb_syscall_complete_cb cb, const char *fmt, ...); int use_gdb_syscalls(void); #ifdef CONFIG_USER_ONLY int gdb_handlesig (CPUState *, int); diff --git a/hw/e1000.c b/hw/e1000.c index d52f1f03b1..a8dcd1ad6c 100644 --- a/hw/e1000.c +++ b/hw/e1000.c @@ -949,7 +949,7 @@ pci_e1000_init(PCIBus *bus, NICInfo *nd, int devfn) E1000State *d; uint8_t *pci_conf; uint16_t checksum = 0; - char *info_str = "e1000"; + static const char info_str[] = "e1000"; int i; d = (E1000State *)pci_register_device(bus, "e1000", diff --git a/hw/sh.h b/hw/sh.h index 808ea50bda..50a1ae961f 100644 --- a/hw/sh.h +++ b/hw/sh.h @@ -43,6 +43,6 @@ void sh_serial_init (target_phys_addr_t base, int feat, struct intc_source *bri_source); /* tc58128.c */ -int tc58128_init(struct SH7750State *s, char *zone1, char *zone2); +int tc58128_init(struct SH7750State *s, const char *zone1, const char *zone2); #endif diff --git a/hw/tc58128.c b/hw/tc58128.c index 2cd176b945..37f5419582 100644 --- a/hw/tc58128.c +++ b/hw/tc58128.c @@ -26,7 +26,7 @@ static tc58128_dev tc58128_devs[2]; #define FLASH_SIZE (16*1024*1024) -void init_dev(tc58128_dev * dev, char *filename) +static void init_dev(tc58128_dev * dev, const char *filename) { int ret, blocks; @@ -175,7 +175,7 @@ static sh7750_io_device tc58128 = { tc58128_cb /* Callback */ }; -int tc58128_init(struct SH7750State *s, char *zone1, char *zone2) +int tc58128_init(struct SH7750State *s, const char *zone1, const char *zone2) { init_dev(&tc58128_devs[0], zone1); init_dev(&tc58128_devs[1], zone2); diff --git a/hw/usb-net.c b/hw/usb-net.c index 63edfd5450..a4714c5bc3 100644 --- a/hw/usb-net.c +++ b/hw/usb-net.c @@ -1016,7 +1016,7 @@ static void usb_net_handle_reset(USBDevice *dev) { } -static char *usb_net_stringtable[] = { +static const char * const usb_net_stringtable[] = { [STRING_MANUFACTURER] = "QEMU", [STRING_PRODUCT] = "RNDIS/QEMU USB Network Device", [STRING_ETHADDR] = "400102030405", diff --git a/hw/usb-ohci.c b/hw/usb-ohci.c index afd55067d4..55cb77b79a 100644 --- a/hw/usb-ohci.c +++ b/hw/usb-ohci.c @@ -565,7 +565,7 @@ static int ohci_service_iso_td(OHCIState *ohci, struct ohci_ed *ed, { int dir; size_t len = 0; - char *str = NULL; + const char *str = NULL; int pid; int ret; int i; @@ -800,7 +800,7 @@ static int ohci_service_td(OHCIState *ohci, struct ohci_ed *ed) { int dir; size_t len = 0; - char *str = NULL; + const char *str = NULL; int pid; int ret; int i; diff --git a/linux-user/arm/nwfpe/fpopcode.h b/linux-user/arm/nwfpe/fpopcode.h index 6c51067b6c..0b501dc6ea 100644 --- a/linux-user/arm/nwfpe/fpopcode.h +++ b/linux-user/arm/nwfpe/fpopcode.h @@ -366,19 +366,19 @@ TABLE 5 /* Get the rounding mode from the opcode. */ #define getRoundingMode(opcode) ((opcode & MASK_ROUNDING_MODE) >> 5) -static inline const floatx80 getExtendedConstant(const unsigned int nIndex) +static inline floatx80 getExtendedConstant(const unsigned int nIndex) { extern const floatx80 floatx80Constant[]; return floatx80Constant[nIndex]; } -static inline const float64 getDoubleConstant(const unsigned int nIndex) +static inline float64 getDoubleConstant(const unsigned int nIndex) { extern const float64 float64Constant[]; return float64Constant[nIndex]; } -static inline const float32 getSingleConstant(const unsigned int nIndex) +static inline float32 getSingleConstant(const unsigned int nIndex) { extern const float32 float32Constant[]; return float32Constant[nIndex]; diff --git a/linux-user/strace.c b/linux-user/strace.c index 76aa3f609e..cc0f4d10d6 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -13,12 +13,12 @@ int do_strace=0; struct syscallname { int nr; - char *name; - char *format; - void (*call)(struct syscallname *, + const char *name; + const char *format; + void (*call)(const struct syscallname *, abi_long, abi_long, abi_long, abi_long, abi_long, abi_long); - void (*result)(struct syscallname *, abi_long); + void (*result)(const struct syscallname *, abi_long); }; /* @@ -131,7 +131,7 @@ static long newselect_arg4 = 0; static long newselect_arg5 = 0; static void -print_newselect(struct syscallname *name, +print_newselect(const struct syscallname *name, abi_long arg1, abi_long arg2, abi_long arg3, abi_long arg4, abi_long arg5, abi_long arg6) { @@ -155,7 +155,7 @@ print_newselect(struct syscallname *name, #endif static void -print_semctl(struct syscallname *name, +print_semctl(const struct syscallname *name, abi_long arg1, abi_long arg2, abi_long arg3, abi_long arg4, abi_long arg5, abi_long arg6) { @@ -165,7 +165,7 @@ print_semctl(struct syscallname *name, } static void -print_execve(struct syscallname *name, +print_execve(const struct syscallname *name, abi_long arg1, abi_long arg2, abi_long arg3, abi_long arg4, abi_long arg5, abi_long arg6) { @@ -198,14 +198,15 @@ print_execve(struct syscallname *name, #ifdef TARGET_NR_ipc static void -print_ipc(struct syscallname *name, +print_ipc(const struct syscallname *name, abi_long arg1, abi_long arg2, abi_long arg3, abi_long arg4, abi_long arg5, abi_long arg6) { switch(arg1) { case IPCOP_semctl: - name->name = "semctl"; - print_semctl(name,arg2,arg3,arg4,arg5,arg6,0); + gemu_log("semctl(" TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld ",", arg1, arg2); + print_ipc_cmd(arg3); + gemu_log(",0x" TARGET_ABI_FMT_lx ")", arg4); break; default: gemu_log("%s(" TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld ")", @@ -219,7 +220,7 @@ print_ipc(struct syscallname *name, */ static void -print_syscall_ret_addr(struct syscallname *name, abi_long ret) +print_syscall_ret_addr(const struct syscallname *name, abi_long ret) { if( ret == -1 ) { gemu_log(" = -1 errno=%d (%s)\n", errno, target_strerror(errno)); @@ -238,7 +239,7 @@ print_syscall_ret_raw(struct syscallname *name, abi_long ret) #ifdef TARGET_NR__newselect static void -print_syscall_ret_newselect(struct syscallname *name, abi_long ret) +print_syscall_ret_newselect(const struct syscallname *name, abi_long ret) { gemu_log(" = 0x" TARGET_ABI_FMT_lx " (", ret); print_fdset(newselect_arg1,newselect_arg2); @@ -256,7 +257,7 @@ print_syscall_ret_newselect(struct syscallname *name, abi_long ret) * An array of all of the syscalls we know about */ -static struct syscallname scnames[] = { +static const struct syscallname scnames[] = { #include "strace.list" }; @@ -271,7 +272,7 @@ print_syscall(int num, abi_long arg4, abi_long arg5, abi_long arg6) { int i; - char *format="%s(" TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld ")"; + const char *format="%s(" TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld ")"; gemu_log("%d ", getpid() ); diff --git a/m68k-dis.c b/m68k-dis.c index 10b8d5ba54..5a4ece5a39 100644 --- a/m68k-dis.c +++ b/m68k-dis.c @@ -546,13 +546,13 @@ extern const int m68k_numopcodes, m68k_numaliases; /* Local function prototypes. */ -const char * const fpcr_names[] = +static const char * const fpcr_names[] = { "", "%fpiar", "%fpsr", "%fpiar/%fpsr", "%fpcr", "%fpiar/%fpcr", "%fpsr/%fpcr", "%fpiar/%fpsr/%fpcr" }; -static char *const reg_names[] = +static const char *const reg_names[] = { "%d0", "%d1", "%d2", "%d3", "%d4", "%d5", "%d6", "%d7", "%a0", "%a1", "%a2", "%a3", "%a4", "%a5", "%fp", "%sp", @@ -561,7 +561,7 @@ static char *const reg_names[] = /* Name of register halves for MAC/EMAC. Separate from reg_names since 'spu', 'fpl' look weird. */ -static char *const reg_half_names[] = +static const char *const reg_half_names[] = { "%d0", "%d1", "%d2", "%d3", "%d4", "%d5", "%d6", "%d7", "%a0", "%a1", "%a2", "%a3", "%a4", "%a5", "%a6", "%a7", @@ -991,7 +991,7 @@ print_indexed (int basereg, disassemble_info *info) { int word; - static char *const scales[] = { "", ":2", ":4", ":8" }; + static const char *const scales[] = { "", ":2", ":4", ":8" }; bfd_vma base_disp; bfd_vma outer_disp; char buf[40]; @@ -1106,7 +1106,7 @@ print_insn_arg (const char *d, { case 'c': /* Cache identifier. */ { - static char *const cacheFieldName[] = { "nc", "dc", "ic", "bc" }; + static const char *const cacheFieldName[] = { "nc", "dc", "ic", "bc" }; val = fetch_arg (buffer, place, 2, info); (*info->fprintf_func) (info->stream, cacheFieldName[val]); break; @@ -1157,7 +1157,7 @@ print_insn_arg (const char *d, /* FIXME: There's a problem here, different m68k processors call the same address different names. This table can't get it right because it doesn't know which processor it's disassembling for. */ - static const struct { char *name; int value; } names[] + static const struct { const char *name; int value; } names[] = {{"%sfc", 0x000}, {"%dfc", 0x001}, {"%cacr", 0x002}, {"%tc", 0x003}, {"%itt0",0x004}, {"%itt1", 0x005}, {"%dtt0",0x006}, {"%dtt1",0x007}, {"%buscr",0x008}, @@ -1201,7 +1201,7 @@ print_insn_arg (const char *d, case 'M': if (place == 'h') { - static char *const scalefactor_name[] = { "<<", ">>" }; + static const char *const scalefactor_name[] = { "<<", ">>" }; val = fetch_arg (buffer, place, 1, info); (*info->fprintf_func) (info->stream, scalefactor_name[val]); } @@ -1633,7 +1633,7 @@ print_insn_arg (const char *d, case '3': { int val = fetch_arg (buffer, place, 5, info); - char *name = 0; + const char *name = 0; switch (val) { diff --git a/sh4-dis.c b/sh4-dis.c index a1d56c59c6..82bb75d222 100644 --- a/sh4-dis.c +++ b/sh4-dis.c @@ -325,7 +325,7 @@ SH4AL-dsp SH4A typedef struct { - char *name; + const char *name; sh_arg_type arg[4]; sh_nibble_type nibbles[9]; unsigned int arch; @@ -1386,13 +1386,13 @@ print_insn_ppi (field_b, info) int field_b; struct disassemble_info *info; { - static char *sx_tab[] = { "x0", "x1", "a0", "a1" }; - static char *sy_tab[] = { "y0", "y1", "m0", "m1" }; + static const char *sx_tab[] = { "x0", "x1", "a0", "a1" }; + static const char *sy_tab[] = { "y0", "y1", "m0", "m1" }; fprintf_ftype fprintf_fn = info->fprintf_func; void *stream = info->stream; unsigned int nib1, nib2, nib3; unsigned int altnib1, nib4; - char *dc = NULL; + const char *dc = NULL; const sh_opcode_info *op; if ((field_b & 0xe800) == 0) @@ -1405,10 +1405,10 @@ print_insn_ppi (field_b, info) } if ((field_b & 0xc000) == 0x4000 && (field_b & 0x3000) != 0x1000) { - static char *du_tab[] = { "x0", "y0", "a0", "a1" }; - static char *se_tab[] = { "x0", "x1", "y0", "a1" }; - static char *sf_tab[] = { "y0", "y1", "x0", "a1" }; - static char *sg_tab[] = { "m0", "m1", "a0", "a1" }; + static const char *du_tab[] = { "x0", "y0", "a0", "a1" }; + static const char *se_tab[] = { "x0", "x1", "y0", "a1" }; + static const char *sf_tab[] = { "y0", "y1", "x0", "a1" }; + static const char *sg_tab[] = { "m0", "m1", "a0", "a1" }; if (field_b & 0x2000) { diff --git a/slirp/ip_icmp.c b/slirp/ip_icmp.c index 53566c1f71..2514f9f831 100644 --- a/slirp/ip_icmp.c +++ b/slirp/ip_icmp.c @@ -207,12 +207,8 @@ end_error: #define ICMP_MAXDATALEN (IP_MSS-28) void -icmp_error(msrc, type, code, minsize, message) - struct mbuf *msrc; - u_char type; - u_char code; - int minsize; - char *message; +icmp_error(struct mbuf *msrc, u_char type, u_char code, int minsize, + const char *message) { unsigned hlen, shlen, s_ip_len; register struct ip *ip; diff --git a/slirp/ip_icmp.h b/slirp/ip_icmp.h index 8c9b5a1ba5..5cd9f7ffc4 100644 --- a/slirp/ip_icmp.h +++ b/slirp/ip_icmp.h @@ -158,7 +158,8 @@ struct icmp { (type) == ICMP_MASKREQ || (type) == ICMP_MASKREPLY) void icmp_input _P((struct mbuf *, int)); -void icmp_error _P((struct mbuf *, u_char, u_char, int, char *)); +void icmp_error(struct mbuf *msrc, u_char type, u_char code, int minsize, + const char *message); void icmp_reflect _P((struct mbuf *)); #endif diff --git a/slirp/misc.c b/slirp/misc.c index 032a1f7b1f..3d921dfe02 100644 --- a/slirp/misc.c +++ b/slirp/misc.c @@ -307,7 +307,7 @@ fork_exec(struct socket *so, const char *ex, int do_pty) socklen_t addrlen = sizeof(addr); int opt; int master = -1; - char *argv[256]; + const char *argv[256]; #if 0 char buff[256]; #endif @@ -411,7 +411,7 @@ fork_exec(struct socket *so, const char *ex, int do_pty) } while (c); argv[i] = 0; - execvp(argv[0], argv); + execvp(argv[0], (char **)argv); /* Ooops, failed, let's tell the user why */ { diff --git a/target-alpha/helper.c b/target-alpha/helper.c index fd39f5f893..7384ba266b 100644 --- a/target-alpha/helper.c +++ b/target-alpha/helper.c @@ -411,7 +411,7 @@ void cpu_dump_state (CPUState *env, FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt, ...), int flags) { - static unsigned char *linux_reg_names[] = { + static const unsigned char *linux_reg_names[] = { "v0 ", "t0 ", "t1 ", "t2 ", "t3 ", "t4 ", "t5 ", "t6 ", "t7 ", "s0 ", "s1 ", "s2 ", "s3 ", "s4 ", "s5 ", "fp ", "a0 ", "a1 ", "a2 ", "a3 ", "a4 ", "a5 ", "t8 ", "t9 ", diff --git a/target-cris/translate.c b/target-cris/translate.c index 7666cba411..4680dd7074 100644 --- a/target-cris/translate.c +++ b/target-cris/translate.c @@ -123,7 +123,7 @@ typedef struct DisasContext { int singlestep_enabled; } DisasContext; -static void gen_BUG(DisasContext *dc, char *file, int line) +static void gen_BUG(DisasContext *dc, const char *file, int line) { printf ("BUG: pc=%x %s %d\n", dc->pc, file, line); fprintf (logfile, "BUG: pc=%x %s %d\n", dc->pc, file, line); diff --git a/vl.c b/vl.c index 0619f1c612..dd4ffcc8c3 100644 --- a/vl.c +++ b/vl.c @@ -1898,7 +1898,7 @@ static int mux_chr_write(CharDriverState *chr, const uint8_t *buf, int len) return ret; } -static char *mux_help[] = { +static const char * const mux_help[] = { "% h print this help\n\r", "% x exit emulator\n\r", "% s save disk data back to file (if -snapshot)\n\r", @@ -1948,7 +1948,7 @@ static int mux_proc_byte(CharDriverState *chr, MuxDriver *d, int ch) break; case 'x': { - char *term = "QEMU: Terminated\n\r"; + const char *term = "QEMU: Terminated\n\r"; chr->chr_write(chr,(uint8_t *)term,strlen(term)); exit(0); break; @@ -3957,6 +3957,7 @@ int parse_host_src_port(struct sockaddr_in *haddr, char *str = strdup(input_str); char *host_str = str; char *src_str; + const char *src_str2; char *ptr; /* @@ -3975,10 +3976,11 @@ int parse_host_src_port(struct sockaddr_in *haddr, if (parse_host_port(haddr, host_str) < 0) goto fail; + src_str2 = src_str; if (!src_str || *src_str == '\0') - src_str = ":0"; + src_str2 = ":0"; - if (parse_host_port(saddr, src_str) < 0) + if (parse_host_port(saddr, src_str2) < 0) goto fail; free(str); @@ -5164,7 +5166,7 @@ static int get_param_value(char *buf, int buf_size, } static int check_params(char *buf, int buf_size, - char **params, const char *str) + const char * const *params, const char *str) { const char *p; int i; @@ -5451,9 +5453,10 @@ static int drive_init(struct drive_opt *arg, int snapshot, int cache; int bdrv_flags; char *str = arg->opt; - char *params[] = { "bus", "unit", "if", "index", "cyls", "heads", - "secs", "trans", "media", "snapshot", "file", - "cache", "format", NULL }; + static const char * const params[] = { "bus", "unit", "if", "index", + "cyls", "heads", "secs", "trans", + "media", "snapshot", "file", + "cache", "format", NULL }; if (check_params(buf, sizeof(buf), params, str) < 0) { fprintf(stderr, "qemu: unknown parameter '%s' in '%s'\n", -- 2.11.0