pidl: Change *_get_pipe_fns() to return const struct api_struct *
authorAndrew Bartlett <abartlet@samba.org>
Sun, 20 Nov 2016 22:57:48 +0000 (11:57 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 1 Dec 2016 04:54:22 +0000 (05:54 +0100)
This will allow the table to be made static const in the next commit

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm
source3/winbindd/winbindd_dual_ndr.c

index bae84af06714ca0ab2915a4087d6c7e1c8de6058..a680d5ce9a4bccd0303aa55fabf95d656b98d63d 100644 (file)
@@ -266,12 +266,12 @@ sub ParseInterface($)
 
        pidl "";
 
-       pidl_hdr "void $if->{NAME}_get_pipe_fns(struct api_struct **fns, int *n_fns);";
-       pidl "void $if->{NAME}_get_pipe_fns(struct api_struct **fns, int *n_fns)";
+       pidl_hdr "const struct api_struct *$if->{NAME}_get_pipe_fns(int *n_fns);";
+       pidl "const struct api_struct *$if->{NAME}_get_pipe_fns(int *n_fns)";
        pidl "{";
        indent;
-       pidl "*fns = api_$if->{NAME}_cmds;";
        pidl "*n_fns = sizeof(api_$if->{NAME}_cmds) / sizeof(struct api_struct);";
+       pidl "return api_$if->{NAME}_cmds;";
        deindent;
        pidl "}";
        pidl "";
index ed2b5ea22da830478370b3558cab89b5a19e0c99..250d9d3da598d3e15b1cf37c4800d6ded4b2a618 100644 (file)
@@ -300,11 +300,11 @@ enum winbindd_result winbindd_dual_ndrcmd(struct winbindd_domain *domain,
                                          struct winbindd_cli_state *state)
 {
        struct pipes_struct p;
-       struct api_struct *fns;
+       const struct api_struct *fns;
        int num_fns;
        bool ret;
 
-       winbind_get_pipe_fns(&fns, &num_fns);
+       fns = winbind_get_pipe_fns(&num_fns);
 
        if (state->request->data.ndrcmd >= num_fns) {
                return WINBINDD_ERROR;