On 11.02.2015 18:34, Eric Blake wrote: > On 02/11/2015 07:04 AM, Michal Privoznik wrote: >> On 10.02.2015 16:35, Martin Kletzander wrote: >>> <snip/> >>> + >>> +typedef enum { >>> + VIR_PROC_POLICY_NONE, >>> + VIR_PROC_POLICY_BATCH, >>> + VIR_PROC_POLICY_IDLE, >>> + VIR_PROC_POLICY_FIFO, >>> + VIR_PROC_POLICY_RR, >>> + >>> + VIR_PROC_POLICY_LAST >>> +} virProcessSchedPolicy; > > The C language guarantees that VIR_PROC_POLICY_NONE == 0, and that > VIR_PROC_POLICY_BATCH == (VIR_PROC_POLICY_NONE + 1). That is, C > guarantees that an initial enum not otherwise initialized is 0, and that > all subsequent enums not otherwise initialized are one more than the > previous value (whether or not the previous value was explicitly > initialized). So the code you questioned is safe as-is. > So in other words, we don't need zero 'initialization' in enums? So for instance the following (taken from daemon/libvirtd.c:122): enum { VIR_DAEMON_ERR_NONE = 0, /* snip */ }; is the same as enum { VIR_DAEMON_ERR_NONE, /* snip */ }; If it is so, is it worth bothering with cleanup patch(es)? There's roughly 250 occurrences in the code: $ git grep "[A-Z]\+ = 0" | wc -l 268 Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list