qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH v21 04/25] improve assertion in qemu_opt_get functio


From: Chunyan Liu
Subject: [Qemu-devel] [PATCH v21 04/25] improve assertion in qemu_opt_get functions
Date: Fri, 21 Feb 2014 18:35:27 +0800

In qemu_opt_set functions, if desc doen't exist but opts_accepts_any is true, it
won't report error, but can still alloc an opt for the option and save it.
However, after that, when doing qemu_opt_get, this option could be found in opts
but opt->desc is NULL. This is correct, should not be treated as error.

This patch would fix vvfat issue after changing to QemuOpts.

Signed-off-by: Chunyan Liu <address@hidden>
---
changes to v20:
  * fix Eric's comments:
    - checking opt->desc instead of removing the assertion

 util/qemu-option.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/util/qemu-option.c b/util/qemu-option.c
index b2d1a62..11c0313 100644
--- a/util/qemu-option.c
+++ b/util/qemu-option.c
@@ -554,7 +554,9 @@ bool qemu_opt_get_bool(QemuOpts *opts, const char *name, 
bool defval)
         }
         return defval;
     }
-    assert(opt->desc && opt->desc->type == QEMU_OPT_BOOL);
+    if (opt->desc) {
+        assert(opt->desc->type == QEMU_OPT_BOOL);
+    }
     return opt->value.boolean;
 }
 
@@ -576,7 +578,9 @@ uint64_t qemu_opt_get_number(QemuOpts *opts, const char 
*name, uint64_t defval)
         }
         return defval;
     }
-    assert(opt->desc && opt->desc->type == QEMU_OPT_NUMBER);
+    if (opt->desc) {
+        assert(opt->desc->type == QEMU_OPT_NUMBER);
+    }
     return opt->value.uint;
 }
 
@@ -596,7 +600,9 @@ uint64_t qemu_opt_get_size(QemuOpts *opts, const char 
*name, uint64_t defval)
         }
         return defval;
     }
-    assert(opt->desc && opt->desc->type == QEMU_OPT_SIZE);
+    if (opt->desc) {
+        assert(opt->desc->type == QEMU_OPT_SIZE);
+    }
     return opt->value.uint;
 }
 
-- 
1.6.0.2




reply via email to

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