qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [5206] Fix warnings that would be caused by gcc flag -Wwrit


From: Blue Swirl
Subject: [Qemu-devel] [5206] Fix warnings that would be caused by gcc flag -Wwrite-strings
Date: Sun, 14 Sep 2008 06:45:35 +0000

Revision: 5206
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5206
Author:   blueswir1
Date:     2008-09-14 06:45:34 +0000 (Sun, 14 Sep 2008)

Log Message:
-----------
Fix warnings that would be caused by gcc flag -Wwrite-strings

Modified Paths:
--------------
    trunk/block-vmdk.c
    trunk/block.c
    trunk/exec.c
    trunk/gdbstub.c
    trunk/gdbstub.h
    trunk/hw/e1000.c
    trunk/hw/sh.h
    trunk/hw/tc58128.c
    trunk/hw/usb-net.c
    trunk/hw/usb-ohci.c
    trunk/linux-user/arm/nwfpe/fpopcode.h
    trunk/linux-user/strace.c
    trunk/m68k-dis.c
    trunk/sh4-dis.c
    trunk/slirp/ip_icmp.c
    trunk/slirp/ip_icmp.h
    trunk/slirp/misc.c
    trunk/target-alpha/helper.c
    trunk/target-cris/translate.c
    trunk/vl.c

Modified: trunk/block-vmdk.c
===================================================================
--- trunk/block-vmdk.c  2008-09-14 01:07:41 UTC (rev 5205)
+++ trunk/block-vmdk.c  2008-09-14 06:45:34 UTC (rev 5206)
@@ -119,7 +119,7 @@
     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 @@
     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 @@
     "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 @@
     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 @@
         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);

Modified: trunk/block.c
===================================================================
--- trunk/block.c       2008-09-14 01:07:41 UTC (rev 5205)
+++ trunk/block.c       2008-09-14 06:45:34 UTC (rev 5206)
@@ -190,7 +190,7 @@
 void get_tmp_filename(char *filename, int size)
 {
     int fd;
-    char *tmpdir;
+    const char *tmpdir;
     /* XXX: race condition possible */
     tmpdir = getenv("TMPDIR");
     if (!tmpdir)

Modified: trunk/exec.c
===================================================================
--- trunk/exec.c        2008-09-14 01:07:41 UTC (rev 5205)
+++ trunk/exec.c        2008-09-14 06:45:34 UTC (rev 5206)
@@ -180,7 +180,7 @@
 #endif
 
 /* log support */
-char *logfilename = "/tmp/qemu.log";
+const char *logfilename = "/tmp/qemu.log";
 FILE *logfile;
 int loglevel;
 static int log_append = 0;

Modified: trunk/gdbstub.c
===================================================================
--- trunk/gdbstub.c     2008-09-14 01:07:41 UTC (rev 5205)
+++ trunk/gdbstub.c     2008-09-14 06:45:34 UTC (rev 5206)
@@ -205,7 +205,7 @@
 }
 
 /* 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 @@
     %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];

Modified: trunk/gdbstub.h
===================================================================
--- trunk/gdbstub.h     2008-09-14 01:07:41 UTC (rev 5205)
+++ trunk/gdbstub.h     2008-09-14 06:45:34 UTC (rev 5206)
@@ -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);

Modified: trunk/hw/e1000.c
===================================================================
--- trunk/hw/e1000.c    2008-09-14 01:07:41 UTC (rev 5205)
+++ trunk/hw/e1000.c    2008-09-14 06:45:34 UTC (rev 5206)
@@ -949,7 +949,7 @@
     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",

Modified: trunk/hw/sh.h
===================================================================
--- trunk/hw/sh.h       2008-09-14 01:07:41 UTC (rev 5205)
+++ trunk/hw/sh.h       2008-09-14 06:45:34 UTC (rev 5206)
@@ -43,6 +43,6 @@
                     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

Modified: trunk/hw/tc58128.c
===================================================================
--- trunk/hw/tc58128.c  2008-09-14 01:07:41 UTC (rev 5205)
+++ trunk/hw/tc58128.c  2008-09-14 06:45:34 UTC (rev 5206)
@@ -26,7 +26,7 @@
 
 #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 @@
     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);

Modified: trunk/hw/usb-net.c
===================================================================
--- trunk/hw/usb-net.c  2008-09-14 01:07:41 UTC (rev 5205)
+++ trunk/hw/usb-net.c  2008-09-14 06:45:34 UTC (rev 5206)
@@ -1016,7 +1016,7 @@
 {
 }
 
-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",

Modified: trunk/hw/usb-ohci.c
===================================================================
--- trunk/hw/usb-ohci.c 2008-09-14 01:07:41 UTC (rev 5205)
+++ trunk/hw/usb-ohci.c 2008-09-14 06:45:34 UTC (rev 5206)
@@ -565,7 +565,7 @@
 {
     int dir;
     size_t len = 0;
-    char *str = NULL;
+    const char *str = NULL;
     int pid;
     int ret;
     int i;
@@ -800,7 +800,7 @@
 {
     int dir;
     size_t len = 0;
-    char *str = NULL;
+    const char *str = NULL;
     int pid;
     int ret;
     int i;

Modified: trunk/linux-user/arm/nwfpe/fpopcode.h
===================================================================
--- trunk/linux-user/arm/nwfpe/fpopcode.h       2008-09-14 01:07:41 UTC (rev 
5205)
+++ trunk/linux-user/arm/nwfpe/fpopcode.h       2008-09-14 06:45:34 UTC (rev 
5206)
@@ -366,19 +366,19 @@
 /* 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];

Modified: trunk/linux-user/strace.c
===================================================================
--- trunk/linux-user/strace.c   2008-09-14 01:07:41 UTC (rev 5205)
+++ trunk/linux-user/strace.c   2008-09-14 06:45:34 UTC (rev 5206)
@@ -13,12 +13,12 @@
 
 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_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 @@
 #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 @@
 }
 
 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 @@
 
 #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 @@
  */
 
 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 @@
 
 #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 @@
  * 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 @@
               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() );
 

Modified: trunk/m68k-dis.c
===================================================================
--- trunk/m68k-dis.c    2008-09-14 01:07:41 UTC (rev 5205)
+++ trunk/m68k-dis.c    2008-09-14 06:45:34 UTC (rev 5206)
@@ -546,13 +546,13 @@
 
 /* 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 @@
 
 /* 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 @@
               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 @@
     {
     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 @@
        /* 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 @@
     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 @@
     case '3':
       {
        int val = fetch_arg (buffer, place, 5, info);
-       char *name = 0;
+        const char *name = 0;
 
        switch (val)
          {

Modified: trunk/sh4-dis.c
===================================================================
--- trunk/sh4-dis.c     2008-09-14 01:07:41 UTC (rev 5205)
+++ trunk/sh4-dis.c     2008-09-14 06:45:34 UTC (rev 5206)
@@ -325,7 +325,7 @@
 
 typedef struct
 {
-  char *name;
+  const char *name;
   sh_arg_type arg[4];
   sh_nibble_type nibbles[9];
   unsigned int arch;
@@ -1386,13 +1386,13 @@
      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 @@
     }
   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)
        {

Modified: trunk/slirp/ip_icmp.c
===================================================================
--- trunk/slirp/ip_icmp.c       2008-09-14 01:07:41 UTC (rev 5205)
+++ trunk/slirp/ip_icmp.c       2008-09-14 06:45:34 UTC (rev 5206)
@@ -207,12 +207,8 @@
 
 #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;

Modified: trunk/slirp/ip_icmp.h
===================================================================
--- trunk/slirp/ip_icmp.h       2008-09-14 01:07:41 UTC (rev 5205)
+++ trunk/slirp/ip_icmp.h       2008-09-14 06:45:34 UTC (rev 5206)
@@ -158,7 +158,8 @@
        (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

Modified: trunk/slirp/misc.c
===================================================================
--- trunk/slirp/misc.c  2008-09-14 01:07:41 UTC (rev 5205)
+++ trunk/slirp/misc.c  2008-09-14 06:45:34 UTC (rev 5206)
@@ -307,7 +307,7 @@
        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 @@
                   } while (c);
 
                argv[i] = 0;
-               execvp(argv[0], argv);
+               execvp(argv[0], (char **)argv);
 
                /* Ooops, failed, let's tell the user why */
                  {

Modified: trunk/target-alpha/helper.c
===================================================================
--- trunk/target-alpha/helper.c 2008-09-14 01:07:41 UTC (rev 5205)
+++ trunk/target-alpha/helper.c 2008-09-14 06:45:34 UTC (rev 5206)
@@ -411,7 +411,7 @@
                      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 ",

Modified: trunk/target-cris/translate.c
===================================================================
--- trunk/target-cris/translate.c       2008-09-14 01:07:41 UTC (rev 5205)
+++ trunk/target-cris/translate.c       2008-09-14 06:45:34 UTC (rev 5206)
@@ -123,7 +123,7 @@
        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);

Modified: trunk/vl.c
===================================================================
--- trunk/vl.c  2008-09-14 01:07:41 UTC (rev 5205)
+++ trunk/vl.c  2008-09-14 06:45:34 UTC (rev 5206)
@@ -1898,7 +1898,7 @@
     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 @@
             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 @@
     char *str = strdup(input_str);
     char *host_str = str;
     char *src_str;
+    const char *src_str2;
     char *ptr;
 
     /*
@@ -3975,10 +3976,11 @@
     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 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 @@
     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",






reply via email to

[Prev in Thread] Current Thread [Next in Thread]