On 2013/8/27 21:49, Kevin Wolf wrote:
Am 13.08.2013 um 06:31 hat Dong Xu Wang geschrieben:
qemu_opts_print has no user now, so can re-write the function safely.
qemu_opts_print is used while using "qemu-img create", it
produces the same output as previous code.
The behavior of this function has changed:
1. Print every possible option, whether a value has been set or not.
2. Option descriptors may provide a default value.
3. Print to stdout instead of stderr.
Previously the behavior was to print every option that has been set.
Options that have not been set would be skipped.
v17->v18:
1) print opt->value.uint directly while type is QEMU_OPT_SIZE.
v13->v14:
1) fix memory leak.
2) make opt_set do not accpet null value argument.
v12->v13
1) re-write commit message.
v11->v12
1) make def_value_str become the real default value string in opt_set
function.
v10->v11:
1) print all values that have actually been assigned while accept-any
cases.
v7->v8:
1) print "elements => accept any params" while opts_accepts_any() ==
true.
2) since def_print_str is the default value if an option isn't set,
so rename it to def_value_str.
Reviewed-by: Eric Blake <ebl...@redhat.com>
Signed-off-by: Dong Xu Wang <wdon...@linux.vnet.ibm.com>
---
Please put the version history after the "---" line so that git am
removes it when applying the patch.
Okay.
include/qemu/option.h | 3 ++-
util/qemu-option.c | 34 ++++++++++++++++++++++++++++------
2 files changed, 30 insertions(+), 7 deletions(-)
diff --git a/include/qemu/option.h b/include/qemu/option.h
index 7a58e47..bbbdea3 100644
--- a/include/qemu/option.h
+++ b/include/qemu/option.h
@@ -96,6 +96,7 @@ typedef struct QemuOptDesc {
const char *name;
enum QemuOptType type;
const char *help;
+ const char *def_value_str;
} QemuOptDesc;
struct QemuOptsList {
@@ -153,7 +154,7 @@ QDict *qemu_opts_to_qdict(QemuOpts *opts, QDict *qdict);
void qemu_opts_absorb_qdict(QemuOpts *opts, QDict *qdict, Error **errp);
typedef int (*qemu_opts_loopfunc)(QemuOpts *opts, void *opaque);
-int qemu_opts_print(QemuOpts *opts, void *dummy);
+int qemu_opts_print(QemuOpts *opts);
Should be a void function, it can only return 0 anyway.
Okay.
Thanks Kevin, and together with other comments, I will send a new version.
Kevin