From nobody Fri Dec 19 19:16:02 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1559938982; cv=none; d=zoho.com; s=zohoarc; b=JTHAV8Gpif3ZFPBtFoNCSX7EFAYXwHVBBlb4D/1A6TSDSjR/QINg6sODiSAyHrhARI2YK6WBhySUj1RXjvvb6Oa0BUAWuA3zISiFbsafeMmqbDTglseiew998/XgxS010hsjGbUwHuOxoOTKmz772gIenfVv1R4yCqyAQTpaHXw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1559938982; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=9rDI5bBAuu+S1XUFcClXKVJ7qGaBAbT+RN55iFelA80=; b=CbxXVcC8LH1sE8n5UCuwr2fbghNC22zbjpTNRyZe+wGT72LP5ev4+9tRS9JhYpPBsplERmIQe4xJQ1MYgtC98ePfvy+AXII8MCEcu/ERfio9fcYzdm6n6whQjO0bI+qNMHZXR2ACnvDwucB16k/yycVPf353BNf16WNyRV+4mOo= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 155993898208098.96005607564848; Fri, 7 Jun 2019 13:23:02 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7A73130860C7; Fri, 7 Jun 2019 20:23:00 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 51B4719C79; Fri, 7 Jun 2019 20:22:59 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 16552206DD; Fri, 7 Jun 2019 20:22:59 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x57KKhTe025770 for ; Fri, 7 Jun 2019 16:20:43 -0400 Received: by smtp.corp.redhat.com (Postfix) id 07C005C206; Fri, 7 Jun 2019 20:20:43 +0000 (UTC) Received: from aegolius.redhat.com (ovpn-117-185.phx2.redhat.com [10.3.117.185]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CAC7C5C205 for ; Fri, 7 Jun 2019 20:20:42 +0000 (UTC) From: Jonathon Jongsma To: libvir-list@redhat.com Date: Fri, 7 Jun 2019 15:20:27 -0500 Message-Id: <20190607202030.29625-17-jjongsma@redhat.com> In-Reply-To: <20190607202030.29625-1-jjongsma@redhat.com> References: <20190607202030.29625-1-jjongsma@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 16/19] src/internal.h: use #pragma once X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Fri, 07 Jun 2019 20:23:01 +0000 (UTC) Content-Type: text/plain; charset="utf-8" Signed-off-by: Jonathon Jongsma --- src/internal.h | 295 ++++++++++++++++++++++++------------------------- 1 file changed, 146 insertions(+), 149 deletions(-) diff --git a/src/internal.h b/src/internal.h index 5a868bb00c..f718895460 100644 --- a/src/internal.h +++ b/src/internal.h @@ -18,101 +18,100 @@ * . */ =20 -#ifndef LIBVIRT_INTERNAL_H -# define LIBVIRT_INTERNAL_H - -# include -# include -# include -# include -# include -# include -# include - -# if STATIC_ANALYSIS -# undef NDEBUG /* Don't let a prior NDEBUG definition cause trouble. */ -# include -# define sa_assert(expr) assert (expr) -# else -# define sa_assert(expr) /* empty */ -# endif +#pragma once + +#include +#include +#include +#include +#include +#include +#include + +#if STATIC_ANALYSIS +# undef NDEBUG /* Don't let a prior NDEBUG definition cause trouble. */ +# include +# define sa_assert(expr) assert (expr) +#else +# define sa_assert(expr) /* empty */ +#endif =20 /* The library itself is allowed to use deprecated functions / * variables, so effectively undefine the deprecated attribute * which would otherwise be defined in libvirt.h. */ -# undef VIR_DEPRECATED -# define VIR_DEPRECATED /*empty*/ +#undef VIR_DEPRECATED +#define VIR_DEPRECATED /*empty*/ =20 /* The library itself needs to know enum sizes. */ -# define VIR_ENUM_SENTINELS - -# ifdef HAVE_LIBINTL_H -# define DEFAULT_TEXT_DOMAIN PACKAGE -# include -# define _(str) dgettext(PACKAGE, str) -# else /* HAVE_LIBINTL_H */ -# define _(str) str -# endif /* HAVE_LIBINTL_H */ -# define N_(str) str - -# include "libvirt/libvirt.h" -# include "libvirt/libvirt-lxc.h" -# include "libvirt/libvirt-qemu.h" -# include "libvirt/libvirt-admin.h" -# include "libvirt/virterror.h" - -# include "c-strcase.h" -# include "ignore-value.h" -# include "count-leading-zeros.h" +#define VIR_ENUM_SENTINELS + +#ifdef HAVE_LIBINTL_H +# define DEFAULT_TEXT_DOMAIN PACKAGE +# include +# define _(str) dgettext(PACKAGE, str) +#else /* HAVE_LIBINTL_H */ +# define _(str) str +#endif /* HAVE_LIBINTL_H */ +#define N_(str) str + +#include "libvirt/libvirt.h" +#include "libvirt/libvirt-lxc.h" +#include "libvirt/libvirt-qemu.h" +#include "libvirt/libvirt-admin.h" +#include "libvirt/virterror.h" + +#include "c-strcase.h" +#include "ignore-value.h" +#include "count-leading-zeros.h" =20 /* String equality tests, suggested by Jim Meyering. */ -# define STREQ(a, b) (strcmp(a, b) =3D=3D 0) -# define STRCASEEQ(a, b) (c_strcasecmp(a, b) =3D=3D 0) -# define STRNEQ(a, b) (strcmp(a, b) !=3D 0) -# define STRCASENEQ(a, b) (c_strcasecmp(a, b) !=3D 0) -# define STREQLEN(a, b, n) (strncmp(a, b, n) =3D=3D 0) -# define STRCASEEQLEN(a, b, n) (c_strncasecmp(a, b, n) =3D=3D 0) -# define STRNEQLEN(a, b, n) (strncmp(a, b, n) !=3D 0) -# define STRCASENEQLEN(a, b, n) (c_strncasecmp(a, b, n) !=3D 0) -# define STRPREFIX(a, b) (strncmp(a, b, strlen(b)) =3D=3D 0) -# define STRCASEPREFIX(a, b) (c_strncasecmp(a, b, strlen(b)) =3D=3D 0) -# define STRSKIP(a, b) (STRPREFIX(a, b) ? (a) + strlen(b) : NULL) - -# define STREQ_NULLABLE(a, b) \ +#define STREQ(a, b) (strcmp(a, b) =3D=3D 0) +#define STRCASEEQ(a, b) (c_strcasecmp(a, b) =3D=3D 0) +#define STRNEQ(a, b) (strcmp(a, b) !=3D 0) +#define STRCASENEQ(a, b) (c_strcasecmp(a, b) !=3D 0) +#define STREQLEN(a, b, n) (strncmp(a, b, n) =3D=3D 0) +#define STRCASEEQLEN(a, b, n) (c_strncasecmp(a, b, n) =3D=3D 0) +#define STRNEQLEN(a, b, n) (strncmp(a, b, n) !=3D 0) +#define STRCASENEQLEN(a, b, n) (c_strncasecmp(a, b, n) !=3D 0) +#define STRPREFIX(a, b) (strncmp(a, b, strlen(b)) =3D=3D 0) +#define STRCASEPREFIX(a, b) (c_strncasecmp(a, b, strlen(b)) =3D=3D 0) +#define STRSKIP(a, b) (STRPREFIX(a, b) ? (a) + strlen(b) : NULL) + +#define STREQ_NULLABLE(a, b) \ ((a) ? (b) && STREQ((a), (b)) : !(b)) -# define STRNEQ_NULLABLE(a, b) \ +#define STRNEQ_NULLABLE(a, b) \ ((a) ? !(b) || STRNEQ((a), (b)) : !!(b)) =20 -# define NUL_TERMINATE(buf) do { (buf)[sizeof(buf)-1] =3D '\0'; } while (0) -# define ARRAY_CARDINALITY(Array) (sizeof(Array) / sizeof(*(Array))) +#define NUL_TERMINATE(buf) do { (buf)[sizeof(buf)-1] =3D '\0'; } while (0) +#define ARRAY_CARDINALITY(Array) (sizeof(Array) / sizeof(*(Array))) =20 /** * ATTRIBUTE_UNUSED: * * Macro to flag consciously unused parameters to functions */ -# ifndef ATTRIBUTE_UNUSED -# define ATTRIBUTE_UNUSED __attribute__((__unused__)) -# endif +#ifndef ATTRIBUTE_UNUSED +# define ATTRIBUTE_UNUSED __attribute__((__unused__)) +#endif =20 /** * ATTRIBUTE_NORETURN: * * Macro to indicate that a function won't return to the caller */ -# ifndef ATTRIBUTE_NORETURN -# define ATTRIBUTE_NORETURN __attribute__((__noreturn__)) -# endif +#ifndef ATTRIBUTE_NORETURN +# define ATTRIBUTE_NORETURN __attribute__((__noreturn__)) +#endif =20 /** * ATTRIBUTE_SENTINEL: * * Macro to check for NULL-terminated varargs lists */ -# ifndef ATTRIBUTE_SENTINEL -# define ATTRIBUTE_SENTINEL __attribute__((__sentinel__)) -# endif +#ifndef ATTRIBUTE_SENTINEL +# define ATTRIBUTE_SENTINEL __attribute__((__sentinel__)) +#endif =20 /** * ATTRIBUTE_NOINLINE: @@ -120,9 +119,9 @@ * Force compiler not to inline a method. Should be used if * the method need to be overridable by test mocks. */ -# ifndef ATTRIBUTE_NOINLINE -# define ATTRIBUTE_NOINLINE __attribute__((__noinline__)) -# endif +#ifndef ATTRIBUTE_NOINLINE +# define ATTRIBUTE_NOINLINE __attribute__((__noinline__)) +#endif =20 /** * ATTRIBUTE_FMT_PRINTF @@ -134,19 +133,19 @@ * printf format specifiers even on broken Win32 platforms * hence we have to force 'gnu_printf' for new GCC */ -# ifndef ATTRIBUTE_FMT_PRINTF -# ifndef __clang__ -# define ATTRIBUTE_FMT_PRINTF(fmtpos, argpos) \ +#ifndef ATTRIBUTE_FMT_PRINTF +# ifndef __clang__ +# define ATTRIBUTE_FMT_PRINTF(fmtpos, argpos) \ __attribute__((__format__ (__gnu_printf__, fmtpos, argpos))) -# else -# define ATTRIBUTE_FMT_PRINTF(fmtpos, argpos) \ +# else +# define ATTRIBUTE_FMT_PRINTF(fmtpos, argpos) \ __attribute__((__format__ (__printf__, fmtpos, argpos))) -# endif # endif +#endif =20 -# ifndef ATTRIBUTE_RETURN_CHECK -# define ATTRIBUTE_RETURN_CHECK __attribute__((__warn_unused_result__)) -# endif +#ifndef ATTRIBUTE_RETURN_CHECK +# define ATTRIBUTE_RETURN_CHECK __attribute__((__warn_unused_result__)) +#endif =20 /** * ATTRIBUTE_PACKED @@ -157,9 +156,9 @@ * ethernet packets. * Others compiler than gcc may use something different e.g. #pragma pack(= 1) */ -# ifndef ATTRIBUTE_PACKED -# define ATTRIBUTE_PACKED __attribute__((packed)) -# endif +#ifndef ATTRIBUTE_PACKED +# define ATTRIBUTE_PACKED __attribute__((packed)) +#endif =20 /* gcc's handling of attribute nonnull is less than stellar - it does * NOT improve diagnostics, and merely allows gcc to optimize away @@ -170,97 +169,97 @@ * based on whether we are compiling for real or for analysis, while * still requiring correct gcc syntax when it is turned off. See also * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D17308 */ -# ifndef ATTRIBUTE_NONNULL -# if STATIC_ANALYSIS -# define ATTRIBUTE_NONNULL(m) __attribute__((__nonnull__(m))) -# else -# define ATTRIBUTE_NONNULL(m) __attribute__(()) -# endif +#ifndef ATTRIBUTE_NONNULL +# if STATIC_ANALYSIS +# define ATTRIBUTE_NONNULL(m) __attribute__((__nonnull__(m))) +# else +# define ATTRIBUTE_NONNULL(m) __attribute__(()) # endif +#endif =20 -# ifndef ATTRIBUTE_FALLTHROUGH -# if __GNUC_PREREQ (7, 0) -# define ATTRIBUTE_FALLTHROUGH __attribute__((fallthrough)) -# else -# define ATTRIBUTE_FALLTHROUGH do {} while(0) -# endif +#ifndef ATTRIBUTE_FALLTHROUGH +# if __GNUC_PREREQ (7, 0) +# define ATTRIBUTE_FALLTHROUGH __attribute__((fallthrough)) +# else +# define ATTRIBUTE_FALLTHROUGH do {} while(0) # endif +#endif =20 -# if WORKING_PRAGMA_PUSH -# define VIR_WARNINGS_NO_CAST_ALIGN \ +#if WORKING_PRAGMA_PUSH +# define VIR_WARNINGS_NO_CAST_ALIGN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wcast-align\"") =20 -# define VIR_WARNINGS_NO_DEPRECATED \ +# define VIR_WARNINGS_NO_DEPRECATED \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wdeprecated-declarations\"") =20 -# if HAVE_SUGGEST_ATTRIBUTE_FORMAT -# define VIR_WARNINGS_NO_PRINTF \ +# if HAVE_SUGGEST_ATTRIBUTE_FORMAT +# define VIR_WARNINGS_NO_PRINTF \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=3Dformat\"") -# else -# define VIR_WARNINGS_NO_PRINTF \ +# else +# define VIR_WARNINGS_NO_PRINTF \ _Pragma ("GCC diagnostic push") -# endif +# endif =20 /* Workaround bogus GCC 6.0 for logical 'or' equal expression warnings. * (GCC bz 69602) */ -# if BROKEN_GCC_WLOGICALOP_EQUAL_EXPR -# define VIR_WARNINGS_NO_WLOGICALOP_EQUAL_EXPR \ +# if BROKEN_GCC_WLOGICALOP_EQUAL_EXPR +# define VIR_WARNINGS_NO_WLOGICALOP_EQUAL_EXPR \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wlogical-op\"") -# else -# define VIR_WARNINGS_NO_WLOGICALOP_EQUAL_EXPR \ +# else +# define VIR_WARNINGS_NO_WLOGICALOP_EQUAL_EXPR \ _Pragma ("GCC diagnostic push") -# endif +# endif =20 -# define VIR_WARNINGS_RESET \ +# define VIR_WARNINGS_RESET \ _Pragma ("GCC diagnostic pop") -# else -# define VIR_WARNINGS_NO_CAST_ALIGN -# define VIR_WARNINGS_NO_DEPRECATED -# define VIR_WARNINGS_NO_PRINTF -# define VIR_WARNINGS_NO_WLOGICALOP_EQUAL_EXPR -# define VIR_WARNINGS_RESET -# endif +#else +# define VIR_WARNINGS_NO_CAST_ALIGN +# define VIR_WARNINGS_NO_DEPRECATED +# define VIR_WARNINGS_NO_PRINTF +# define VIR_WARNINGS_NO_WLOGICALOP_EQUAL_EXPR +# define VIR_WARNINGS_RESET +#endif =20 /* Workaround bogus GCC < 4.6 that produces false -Wlogical-op warnings for * strchr(). Those old GCCs don't support push/pop. */ -# if BROKEN_GCC_WLOGICALOP_STRCHR -# define VIR_WARNINGS_NO_WLOGICALOP_STRCHR \ +#if BROKEN_GCC_WLOGICALOP_STRCHR +# define VIR_WARNINGS_NO_WLOGICALOP_STRCHR \ _Pragma ("GCC diagnostic ignored \"-Wlogical-op\"") -# else -# define VIR_WARNINGS_NO_WLOGICALOP_STRCHR -# endif +#else +# define VIR_WARNINGS_NO_WLOGICALOP_STRCHR +#endif =20 =20 /* * Use this when passing possibly-NULL strings to printf-a-likes. */ -# define NULLSTR(s) ((s) ? (s) : "") +#define NULLSTR(s) ((s) ? (s) : "") =20 /* * Turn a NULL string into an empty string */ -# define NULLSTR_EMPTY(s) ((s) ? (s) : "") +#define NULLSTR_EMPTY(s) ((s) ? (s) : "") =20 /* * Turn a NULL string into a star */ -# define NULLSTR_STAR(s) ((s) ? (s) : "*") +#define NULLSTR_STAR(s) ((s) ? (s) : "*") =20 /* * Turn a NULL string into a minus sign */ -# define NULLSTR_MINUS(s) ((s) ? (s) : "-") +#define NULLSTR_MINUS(s) ((s) ? (s) : "-") =20 /** * SWAP: * * In place exchange of two values */ -# define SWAP(a, b) \ +#define SWAP(a, b) \ do { \ (a) =3D (a) ^ (b); \ (b) =3D (a) ^ (b); \ @@ -273,7 +272,7 @@ * Steals pointer passed as second argument into the first argument. Second * argument must not have side effects. */ -# define VIR_STEAL_PTR(a, b) \ +#define VIR_STEAL_PTR(a, b) \ do { \ (a) =3D (b); \ (b) =3D NULL; \ @@ -287,7 +286,7 @@ * freed by using VIR_AUTOPTR can be easily passed back to the caller with= out * any temporary variable. @ptr is evaluated more than once. */ -# define VIR_RETURN_PTR(ptr) \ +#define VIR_RETURN_PTR(ptr) \ do { \ typeof(ptr) virTemporaryReturnPointer =3D (ptr); \ (ptr) =3D NULL; \ @@ -305,7 +304,7 @@ * Returns nothing. Exits the caller function if unsupported flags were * passed to it. */ -# define virCheckFlags(supported, retval) \ +#define virCheckFlags(supported, retval) \ do { \ unsigned long __unsuppflags =3D flags & ~(supported); \ if (__unsuppflags) { \ @@ -327,7 +326,7 @@ * Returns nothing. Jumps to a label if unsupported flags were * passed to it. */ -# define virCheckFlagsGoto(supported, label) \ +#define virCheckFlagsGoto(supported, label) \ do { \ unsigned long __unsuppflags =3D flags & ~(supported); \ if (__unsuppflags) { \ @@ -353,7 +352,7 @@ * This helper does an early return and therefore it has to be called * before anything that would require cleanup. */ -# define VIR_EXCLUSIVE_FLAGS_RET(FLAG1, FLAG2, RET) \ +#define VIR_EXCLUSIVE_FLAGS_RET(FLAG1, FLAG2, RET) \ do { \ if ((flags & FLAG1) && (flags & FLAG2)) { \ virReportInvalidArg(ctl, \ @@ -377,7 +376,7 @@ * Returns nothing. Jumps to a label if unsupported flags were * passed to it. */ -# define VIR_EXCLUSIVE_FLAGS_GOTO(FLAG1, FLAG2, LABEL) \ +#define VIR_EXCLUSIVE_FLAGS_GOTO(FLAG1, FLAG2, LABEL) \ do { \ if ((flags & FLAG1) && (flags & FLAG2)) { \ virReportInvalidArg(ctl, \ @@ -403,7 +402,7 @@ * This helper does an early return and therefore it has to be called * before anything that would require cleanup. */ -# define VIR_REQUIRE_FLAG_RET(FLAG1, FLAG2, RET) \ +#define VIR_REQUIRE_FLAG_RET(FLAG1, FLAG2, RET) \ do { \ if ((flags & FLAG1) && !(flags & FLAG2)) { \ virReportInvalidArg(ctl, \ @@ -425,7 +424,7 @@ * * Returns nothing. Jumps to a label if required flag is not set. */ -# define VIR_REQUIRE_FLAG_GOTO(FLAG1, FLAG2, LABEL) \ +#define VIR_REQUIRE_FLAG_GOTO(FLAG1, FLAG2, LABEL) \ do { \ if ((flags & FLAG1) && !(flags & FLAG2)) { \ virReportInvalidArg(ctl, \ @@ -435,28 +434,28 @@ } \ } while (0) =20 -# define virCheckNonNullArgReturn(argname, retval) \ +#define virCheckNonNullArgReturn(argname, retval) \ do { \ if (argname =3D=3D NULL) { \ virReportInvalidNonNullArg(argname); \ return retval; \ } \ } while (0) -# define virCheckNullArgGoto(argname, label) \ +#define virCheckNullArgGoto(argname, label) \ do { \ if (argname !=3D NULL) { \ virReportInvalidNullArg(argname); \ goto label; \ } \ } while (0) -# define virCheckNonNullArgGoto(argname, label) \ +#define virCheckNonNullArgGoto(argname, label) \ do { \ if (argname =3D=3D NULL) { \ virReportInvalidNonNullArg(argname); \ goto label; \ } \ } while (0) -# define virCheckNonEmptyStringArgGoto(argname, label) \ +#define virCheckNonEmptyStringArgGoto(argname, label) \ do { \ if (argname =3D=3D NULL) { \ virReportInvalidNonNullArg(argname); \ @@ -467,42 +466,42 @@ goto label; \ } \ } while (0) -# define virCheckPositiveArgGoto(argname, label) \ +#define virCheckPositiveArgGoto(argname, label) \ do { \ if (argname <=3D 0) { \ virReportInvalidPositiveArg(argname); \ goto label; \ } \ } while (0) -# define virCheckPositiveArgReturn(argname, retval) \ +#define virCheckPositiveArgReturn(argname, retval) \ do { \ if (argname <=3D 0) { \ virReportInvalidPositiveArg(argname); \ return retval; \ } \ } while (0) -# define virCheckNonZeroArgGoto(argname, label) \ +#define virCheckNonZeroArgGoto(argname, label) \ do { \ if (argname =3D=3D 0) { \ virReportInvalidNonZeroArg(argname); \ goto label; \ } \ } while (0) -# define virCheckZeroArgGoto(argname, label) \ +#define virCheckZeroArgGoto(argname, label) \ do { \ if (argname !=3D 0) { \ virReportInvalidNonZeroArg(argname); \ goto label; \ } \ } while (0) -# define virCheckNonNegativeArgGoto(argname, label) \ +#define virCheckNonNegativeArgGoto(argname, label) \ do { \ if (argname < 0) { \ virReportInvalidNonNegativeArg(argname); \ goto label; \ } \ } while (0) -# define virCheckReadOnlyGoto(flags, label) \ +#define virCheckReadOnlyGoto(flags, label) \ do { \ if ((flags) & VIR_CONNECT_RO) { \ virReportRestrictedError(_("read only access prevents %s"), \ @@ -514,14 +513,14 @@ =20 =20 /* divide value by size, rounding up */ -# define VIR_DIV_UP(value, size) (((value) + (size) - 1) / (size)) +#define VIR_DIV_UP(value, size) (((value) + (size) - 1) / (size)) =20 /* round up value to the closest multiple of size */ -# define VIR_ROUND_UP(value, size) (VIR_DIV_UP(value, size) * (size)) +#define VIR_ROUND_UP(value, size) (VIR_DIV_UP(value, size) * (size)) =20 /* Round up to the next closest power of 2. It will return rounded number = or 0 * for 0 or number more than 2^31 (for 32bit unsigned int). */ -# define VIR_ROUND_UP_POWER_OF_TWO(value) \ +#define VIR_ROUND_UP_POWER_OF_TWO(value) \ ((value) > 0 && (value) <=3D 1U << (sizeof(unsigned int) * 8 - 1) ? \ 1U << (sizeof(unsigned int) * 8 - count_leading_zeros((value) - 1)) := 0) =20 @@ -534,8 +533,6 @@ enum { EXIT_ENOENT =3D 127, /* Could not find program to exec */ }; =20 -# ifndef ENODATA -# define ENODATA EIO -# endif - -#endif /* LIBVIRT_INTERNAL_H */ +#ifndef ENODATA +# define ENODATA EIO +#endif --=20 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list