On Tue, Oct 08, 2013 at 11:24:58AM -0600, Eric Blake wrote: > 'const fooPtr' is the same as 'foo * const' (the pointer won't > change, but it's contents can). But in general, if an interface > is trying to be const-correct, it should be using 'const foo *' > (the pointer is to data that can't be changed). > > Fix up offenders in the public API. Note that this is an API change; > but see commit 6ac6f59, where we first argued that this change is > harmless (but with that commit not actually making the change that it > claimed to be making): > > Although this is an API change (not ABI though), real callers won't be > impacted. Why? > 1. these callback members are read-only, so it is less likely that > someone is trying to assign into the struct members. > 2. The only way to register a virConnectDomainEventGraphicsCallback is > to cast it through a call to virConnectDomainEventRegisterAny. That is, > even if the user's callback function leaves out the const, we never use > the typedef as the direct type of any API parameter. Since they are > already casting their function pointer into a munged type before > registering it, their code will continue to compile. > > * include/libvirt/libvirt.h.in > (virConnectDomainEventGraphicsCallback): Use intended type. > --- > include/libvirt/libvirt.h.in | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) ACK Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list