From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34174) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VEbXP-0000A5-JX for qemu-devel@nongnu.org; Wed, 28 Aug 2013 04:55:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VEbXG-0008Kd-HG for qemu-devel@nongnu.org; Wed, 28 Aug 2013 04:55:39 -0400 Received: from e7.ny.us.ibm.com ([32.97.182.137]:57076) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VEbXG-0008KL-D4 for qemu-devel@nongnu.org; Wed, 28 Aug 2013 04:55:30 -0400 Received: from /spool/local by e7.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 28 Aug 2013 04:55:28 -0400 Received: from d01relay02.pok.ibm.com (d01relay02.pok.ibm.com [9.56.227.234]) by d01dlp03.pok.ibm.com (Postfix) with ESMTP id 1AF57C9003E for ; Wed, 28 Aug 2013 04:55:24 -0400 (EDT) Received: from d01av02.pok.ibm.com (d01av02.pok.ibm.com [9.56.224.216]) by d01relay02.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r7S8tPjN168754 for ; Wed, 28 Aug 2013 04:55:25 -0400 Received: from d01av02.pok.ibm.com (loopback [127.0.0.1]) by d01av02.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r7S8tPB9008257 for ; Wed, 28 Aug 2013 05:55:25 -0300 Message-ID: <521DBAF9.9030202@linux.vnet.ibm.com> Date: Wed, 28 Aug 2013 16:55:21 +0800 From: Dong Xu Wang MIME-Version: 1.0 References: <1376368326-7433-1-git-send-email-wdongxu@linux.vnet.ibm.com> <1376368326-7433-2-git-send-email-wdongxu@linux.vnet.ibm.com> <20130827134956.GH648@dhcp-200-207.str.redhat.com> In-Reply-To: <20130827134956.GH648@dhcp-200-207.str.redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH V18 01/25] qemu-option: add def_value_str in QemuOptDesc struct and rewrite qemu_opts_print List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: wdongxu@cn.ibm.com, qemu-devel@nongnu.org, stefanha@redhat.com 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 >> Signed-off-by: Dong Xu Wang >> --- > > 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 > >