#include <libvirt/libvirt.h>
#include <libvirt/virterror.h>
+#define G_N_ELEMENTS(Array) (sizeof(Array) / sizeof(*(Array)))
+
static void
showError(virConnectPtr conn)
{
/* The auth struct that will be passed to virConnectOpenAuth */
static virConnectAuth auth = {
credTypes,
- sizeof(credTypes) / sizeof(int),
+ G_N_ELEMENTS(credTypes),
authCallback,
NULL, /* cbdata will be initialized in main */
};
static virConnectAuth virConnectAuthDefault = {
virConnectCredTypeDefault,
- sizeof(virConnectCredTypeDefault)/sizeof(int),
+ G_N_ELEMENTS(virConnectCredTypeDefault),
virConnectAuthCallbackDefault,
NULL,
};
if (virBitmapNextSetBit(bitmap, i) != -1)
return -1;
- j = sizeof(bitsPos)/sizeof(int) - 1;
+ j = G_N_ELEMENTS(bitsPos) - 1;
if (virBitmapLastSetBit(bitmap) != bitsPos[j])
return -1;
i = 0;
j = -1;
- while (i < sizeof(bits)/sizeof(int) &&
+ while (i < G_N_ELEMENTS(bits) &&
(j = virBitmapNextSetBit(bitmap, j)) >= 0) {
if (j != bits[i++])
return -1;
.macaddr = { .addr = { 0, 0, 0, 7, 7, 7 } }, .allow_retry = true, .rc = -EINVAL },
};
- for (i = 0; i < sizeof(testCases) / sizeof(struct testCase); ++i) {
+ for (i = 0; i < G_N_ELEMENTS(testCases); ++i) {
rc = virNetDevSetVfMac(testCases[i].ifname, testCases[i].vf_num,
&testCases[i].macaddr, &testCases[i].allow_retry);
if (rc != testCases[i].rc) {
{ .ifname = "fakeiface-ok", .vf_num = 1, .rc = 0 },
};
- for (i = 0; i < sizeof(testCases) / sizeof(struct testCase); ++i) {
+ for (i = 0; i < G_N_ELEMENTS(testCases); ++i) {
rc = virNetDevSetVfVlan(testCases[i].ifname, testCases[i].vf_num, &testCases[i].vlan_id);
if (rc != testCases[i].rc) {
return -1;
}
}
- for (i = 0; i < sizeof(nullVLANTestCases) / sizeof(struct nullVlanTestCase); ++i) {
+ for (i = 0; i < G_N_ELEMENTS(nullVLANTestCases); ++i) {
rc = virNetDevSetVfVlan(nullVLANTestCases[i].ifname, nullVLANTestCases[i].vf_num, NULL);
if (rc != nullVLANTestCases[i].rc) {
return -1;
{ .ifname = "fakeiface-nomacerror-novlanerror", .rc = 0 },
};
- for (i = 0; i < sizeof(testCases) / sizeof(struct testCase); ++i) {
+ for (i = 0; i < G_N_ELEMENTS(testCases); ++i) {
rc = virNetDevSetVfConfig(testCases[i].ifname, vfNum, &mac, &vlanid, allowRetry);
if (rc != testCases[i].rc) {
return -1;
#define LIBVIRT_ALIGN(x) (((x) + __SIZEOF_POINTER__ - 1) & ~(__SIZEOF_POINTER__ - 1))
#define FAMILY_ADDRESS_SIZE(family) ((family) == AF_INET6 ? 16 : 4)
+#define G_N_ELEMENTS(Array) (sizeof(Array) / sizeof(*(Array)))
static int
leaseAddressSorter(const void *a,
unsigned int *size,
nss_module_unregister_fn *unregister)
{
- *size = sizeof(methods) / sizeof(methods[0]);
+ *size = G_N_ELEMENTS(methods);
*unregister = NULL;
return methods;
}
#include "configmake.h"
+#define G_N_ELEMENTS(Array) (sizeof(Array) / sizeof(*(Array)))
#define VIR_INT64_STR_BUFLEN 21
int main(int argc, char **argv) {
newargv[nargs++] = gidstr;
newargv[nargs++] = NULL;
- assert(nargs <= (sizeof(newargv)/sizeof(newargv[0])));
+ assert(nargs <= G_N_ELEMENTS(newargv));
if (term &&
asprintf(&(newenv[0]), "TERM=%s", term) < 0) {