From: Tim Prouty Date: Tue, 30 Dec 2008 21:47:58 +0000 (-0800) Subject: pidl: Fix a const build warning in the samba3 merged build X-Git-Url: http://git.samba.org/?a=commitdiff_plain;h=2337f402f0f2fd6c1fa077b1b35347905a38c715;hp=0cb430c22e9c0af2248fbc15ce97a4d760df189d;p=metze%2Fsamba%2Fwip.git pidl: Fix a const build warning in the samba3 merged build The warning: ../librpc/gen_ndr/ndr_spoolss.c: In function ‘ndr_pull_spoolss_EnumPrinterData’: ../librpc/gen_ndr/ndr_spoolss.c:14792: warning: passing argument 1 of ‘memset’ discards qualifiers from pointer target type In some case the pidl generated code needs to memset a const struct field. This causes the above warning. This patch discardeds the const in this case. I'm open to a more elegant fix, but this eliminates the warning and should be relatively safe. --- diff --git a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm index ee81e51f254b..5c9123a2a84c 100644 --- a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm +++ b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm @@ -2165,7 +2165,7 @@ sub ParseFunctionPull($$) if (grep(/in/, @{$e->{DIRECTION}})) { $self->pidl("memcpy(r->out.$e->{NAME}, r->in.$e->{NAME}, ($size) * sizeof(*r->in.$e->{NAME}));"); } else { - $self->pidl("memset(r->out.$e->{NAME}, 0, ($size) * sizeof(*r->out.$e->{NAME}));"); + $self->pidl("memset(CONST_DISCARD(struct $fn->{NAME} *,r->out.$e->{NAME}), 0, ($size) * sizeof(*r->out.$e->{NAME}));"); } } else { $self->pidl("NDR_PULL_ALLOC($ndr, r->out.$e->{NAME});");