diff --git a/cfg.mk b/cfg.mk index f99b8ae631..a62d4db13b 100644 --- a/cfg.mk +++ b/cfg.mk @@ -1075,6 +1075,15 @@ sc_require_attribute_cleanup_initialization: halt='variable declared with a cleanup macro must be initialized' \ $(_sc_search_regexp) +# "class" in headers is not good because by default Vim treats it as a keyword +# Let's prohibit it in source files as well. +sc_prohibit_class: + @prohibit=' +_?class *;' \ + in_vc_files='\.[chx]$$' \ + halt='use klass instead of class or _class' \ + $(_sc_search_regexp) + + # We don't use this feature of maint.mk. prev_version_file = /dev/null diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c index 1b1f57d065..5de51d1f6b 100644 --- a/src/conf/node_device_conf.c +++ b/src/conf/node_device_conf.c @@ -346,7 +346,7 @@ virNodeDeviceCapUSBInterfaceDefFormat(virBufferPtr buf, virBufferAsprintf(buf, "%d\n", data->usb_if.number); virBufferAsprintf(buf, "%d\n", - data->usb_if._class); + data->usb_if.klass); virBufferAsprintf(buf, "%d\n", data->usb_if.subclass); virBufferAsprintf(buf, "%d\n", @@ -1216,7 +1216,7 @@ virNodeDevCapUSBInterfaceParseXML(xmlXPathContextPtr ctxt, goto out; if (virNodeDevCapsDefParseULong("number(./class[1])", ctxt, - &usb_if->_class, def, + &usb_if->klass, def, _("no USB interface class supplied for '%s'"), _("invalid USB interface class supplied for '%s'")) < 0) goto out; diff --git a/src/conf/node_device_conf.h b/src/conf/node_device_conf.h index ce789e9ee9..b13bc13b87 100644 --- a/src/conf/node_device_conf.h +++ b/src/conf/node_device_conf.h @@ -153,7 +153,7 @@ struct _virNodeDevCapPCIDev { unsigned int function; unsigned int product; unsigned int vendor; - unsigned int class; + unsigned int klass; char *product_name; char *vendor_name; virPCIDeviceAddressPtr physical_function; @@ -186,7 +186,7 @@ typedef struct _virNodeDevCapUSBIf virNodeDevCapUSBIf; typedef virNodeDevCapUSBIf *virNodeDevCapUSBIfPtr; struct _virNodeDevCapUSBIf { unsigned int number; - unsigned int _class; /* "class" is reserved in C */ + unsigned int klass; unsigned int subclass; unsigned int protocol; char *description; diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c index 32e762009f..f0e61e4236 100644 --- a/src/node_device/node_device_udev.c +++ b/src/node_device/node_device_udev.c @@ -402,7 +402,7 @@ udevProcessPCI(struct udev_device *device, privileged = driver->privileged; nodeDeviceUnlock(); - if (udevGetUintProperty(device, "PCI_CLASS", &pci_dev->class, 16) < 0) + if (udevGetUintProperty(device, "PCI_CLASS", &pci_dev->klass, 16) < 0) goto cleanup; if ((p = strrchr(def->sysfs_path, '/')) == NULL || @@ -582,7 +582,7 @@ udevProcessUSBInterface(struct udev_device *device, return -1; if (udevGetUintSysfsAttr(device, "bInterfaceClass", - &usb_if->_class, 16) < 0) + &usb_if->klass, 16) < 0) return -1; if (udevGetUintSysfsAttr(device, "bInterfaceSubClass", diff --git a/tests/virpcimock.c b/tests/virpcimock.c index acde380c5d..ce8176cbec 100644 --- a/tests/virpcimock.c +++ b/tests/virpcimock.c @@ -122,7 +122,7 @@ struct pciDevice { char *id; int vendor; int device; - int class; + int klass; int iommuGroup; struct pciDriver *driver; /* Driver attached. NULL if attached to no driver */ }; @@ -404,7 +404,7 @@ pci_device_new_from_stub(const struct pciDevice *data) ABORT("@tmp overflow"); make_file(devpath, "device", tmp, -1); - if (snprintf(tmp, sizeof(tmp), "0x%.4x", dev->class) < 0) + if (snprintf(tmp, sizeof(tmp), "0x%.4x", dev->klass) < 0) ABORT("@tmp overflow"); make_file(devpath, "class", tmp, -1); @@ -858,10 +858,10 @@ init_env(void) MAKE_PCI_DEVICE("0000:00:01.0", 0x8086, 0x0044); MAKE_PCI_DEVICE("0000:00:02.0", 0x8086, 0x0046); MAKE_PCI_DEVICE("0000:00:03.0", 0x8086, 0x0048); - MAKE_PCI_DEVICE("0001:00:00.0", 0x1014, 0x03b9, .class = 0x060400); + MAKE_PCI_DEVICE("0001:00:00.0", 0x1014, 0x03b9, .klass = 0x060400); MAKE_PCI_DEVICE("0001:01:00.0", 0x8086, 0x105e, .iommuGroup = 0); MAKE_PCI_DEVICE("0001:01:00.1", 0x8086, 0x105e, .iommuGroup = 0); - MAKE_PCI_DEVICE("0005:80:00.0", 0x10b5, 0x8112, .class = 0x060400); + MAKE_PCI_DEVICE("0005:80:00.0", 0x10b5, 0x8112, .klass = 0x060400); MAKE_PCI_DEVICE("0005:90:01.0", 0x1033, 0x0035, .iommuGroup = 1); MAKE_PCI_DEVICE("0005:90:01.1", 0x1033, 0x0035, .iommuGroup = 1); MAKE_PCI_DEVICE("0005:90:01.2", 0x1033, 0x00e0, .iommuGroup = 1);