On 05/07/2011 06:28 AM, Matthias Bolte wrote: > Anchor matches at the beginning of a line. > > Specialize some general matches. > > Add some comments to special cases. > --- > daemon/remote_generator.pl | 172 +++++++++++++++++++++++++++----------------- > 1 files changed, 105 insertions(+), 67 deletions(-) > > @@ -510,13 +522,29 @@ elsif ($opt_b) { > } > > unshift(@args_list, $conn); > - } elsif ($ret_member =~ m/hyper (\S+);/) { > - push(@vars_list, "unsigned long $1"); > - push(@ret_list, "ret->$1 = $1;"); > - $single_ret_var = $1; > + } elsif ($ret_member =~ m/^(unsigned )?hyper (\S+);/) { > + my $type_name; > + my $ret_name = $2; > + > + $type_name = $1 if ($1); > + $type_name .= "long"; > + > + if ($type_name eq "long" and > + $calls{$_}->{ProcName} =~ m/^Get(Lib)?Version$/) { > + # SPECIAL: virConnectGet(Lib)?Version uses unsigned long > + # in public API but hyper in XDR protocol > + $type_name = "unsigned long"; > + } Fine for this patch, but we could probably clean it up to use unsigned hyper in XDR protocol with no change to the wire format as a separate patch. > @@ -928,7 +962,8 @@ elsif ($opt_k) { > } > > if ($call->{ProcName} eq "NWFilterDefineXML") { > - # fix public API and XDR protocol mismatch > + # SPECIAL: virNWFilterDefineXML has a flags parameter in the > + # public API that is missing in the XDR protocol > push(@args_list, "unsigned int flags ATTRIBUTE_UNUSED"); > } Ouch. We need to introduce a new XDR function number that fixes this, while keeping glue code in place for the old broken XDR function number (of course, as a separate patch). ACK. -- Eric Blake eblake@xxxxxxxxxx +1-801-349-2682 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list