On 10/09/2012 05:14 PM, Anthony Liguori wrote: >>> >>> I think it'd be nicer to check for NULL when invoking the functions in >>> the memory core. >>> >>> Then you avoid the exported stub functions entirely. >> >> Yes, that's the common style, but I happen not to like the extra check, >> both from a performance point of view (doesn't apply here of course) and >> from a readability point of view. > > The trouble with your approach is that it introduced a subtle behavior > based on ordering. IOW: > > MemoryListenerOps foo = { > MEMORY_LISTENER_DEFAULT_OPS, > .log_sync = ..., > }; > > vs. > > MemoryListenerOps foo = { > .log_sync = ..., > MEMORY_LISTENER_DEFAULT_OPS, > }; > > Both compile fine but have potentially difficult to debug differences. > Relying on zero-initialization eliminates the possibility of this problem. >
I don't think this is likely (esp. as the bad behaviour would be the code not working at all) but i will update this for the next version. -- error compiling committee.c: too many arguments to function