From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54321) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WNmFp-0003Dc-9a for qemu-devel@nongnu.org; Wed, 12 Mar 2014 12:43:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WNmFh-0008Q1-3H for qemu-devel@nongnu.org; Wed, 12 Mar 2014 12:43:41 -0400 Received: from mail-qc0-x232.google.com ([2607:f8b0:400d:c01::232]:50999) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WNmFg-0008Pu-Ug for qemu-devel@nongnu.org; Wed, 12 Mar 2014 12:43:33 -0400 Received: by mail-qc0-f178.google.com with SMTP id i8so11728198qcq.9 for ; Wed, 12 Mar 2014 09:43:32 -0700 (PDT) From: "Gabriel L. Somlo" Date: Wed, 12 Mar 2014 12:40:01 -0400 Message-Id: <1394642412-29317-3-git-send-email-somlo@cmu.edu> In-Reply-To: <1394642412-29317-1-git-send-email-somlo@cmu.edu> References: <1394612454.17393.16.camel@nilsson.home.kraxel.org> <1394642412-29317-1-git-send-email-somlo@cmu.edu> Subject: [Qemu-devel] [v3 PATCH 02/13] SMBIOS: Use macro to set smbios defaults List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: agraf@suse.de, gsomlo@gmail.com, armbru@redhat.com, alex.williamson@redhat.com, kevin@koconnor.net, kraxel@redhat.com, lersek@redhat.com From: "Gabriel L. Somlo" The function smbios_set_defaults() uses a repeating code pattern for each field. This patch replaces that pattern with a macro. Signed-off-by: Gabriel Somlo --- hw/i386/smbios.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/hw/i386/smbios.c b/hw/i386/smbios.c index 89dc070..f4ee7b4 100644 --- a/hw/i386/smbios.c +++ b/hw/i386/smbios.c @@ -256,18 +256,17 @@ static void smbios_build_type_1_fields(void) } } +#define SMBIOS_SET_DEFAULT(field, value) \ + if (!field) { \ + field = value; \ + } + void smbios_set_defaults(const char *manufacturer, const char *product, const char *version) { - if (!type1.manufacturer) { - type1.manufacturer = manufacturer; - } - if (!type1.product) { - type1.product = product; - } - if (!type1.version) { - type1.version = version; - } + SMBIOS_SET_DEFAULT(type1.manufacturer, manufacturer); + SMBIOS_SET_DEFAULT(type1.product, product); + SMBIOS_SET_DEFAULT(type1.version, version); } uint8_t *smbios_get_table(size_t *length) -- 1.8.1.4