Re: C99 Initialisers

From: Matthew Wilcox
Date: Tue Aug 12 2003 - 19:14:10 EST


On Wed, Aug 13, 2003 at 12:53:24AM +0100, Dave Jones wrote:
> What would be *really* nice, would be the ability to do something
> to the effect of..

While we're off in never-never land, it'd be nice to specify default
values for struct initialisers. eg, something like:

struct pci_device_id {
__u32 vendor = PCI_ANY_ID;
__u32 device = PCI_ANY_ID;
__u32 subvendor = PCI_ANY_ID;
__u32 subdevice = PCI_ANY_ID;
__u32 class = 0;
__u32 class_mask = 0;
kernel_ulong_t driver_data = 0;
};

Erm, hang on a second ... Since when are PCI IDs 32-bit? What is this
ridiculous bloat? You can't even argue that this makes things pack
better since this packs equally well:

struct pci_device_id {
__u16 vendor;
__u16 device;
__u16 subvendor;
__u16 subdevice;
__u32 class;
__u32 class_mask;
kernel_ulong_t driver_data;
};

--
"It's not Hollywood. War is real, war is primarily not about defeat or
victory, it is about death. I've seen thousands and thousands of dead bodies.
Do you think I want to have an academic debate on this subject?" -- Robert Fisk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/