From 05b43ef0bc3183520b0c03a70db92233741e1e87 Mon Sep 17 00:00:00 2001 From: Chaskiel M Grundman Date: Wed, 30 May 2001 20:34:17 +0000 Subject: [PATCH] make-rxgen-split-rpcs-not-declare-start-parameters-for-functions-for-data-which-is-copied-out-only-20010530 "fix for rxgen so that split rpc's don't erroneously declare parameters in the "start" function that should only be declared in the "end": example: for the following declaration: Store(IN struct _index_t *descr, IN string group, OUT string spool, OUT afs_uint32 *slot) split; before patch: int StartDMV_Store(z_call, descr, group) register struct rx_call *z_call; struct _index_t * descr; char * group, **spool; { [...] after patch: int StartDMV_Store(z_call, descr, group) register struct rx_call *z_call; struct _index_t * descr; char * group; { [...] " --- src/rxgen/rpc_parse.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rxgen/rpc_parse.c b/src/rxgen/rpc_parse.c index a774acd..0d6a7fc 100644 --- a/src/rxgen/rpc_parse.c +++ b/src/rxgen/rpc_parse.c @@ -1166,7 +1166,7 @@ int split_flag; } plist->pl.param_flag |= PROCESSED_PARAM; for (plist1 = defp->pc.plists; plist1; plist1 = plist1->next) { - if (streq(plist->pl.param_type, plist1->pl.param_type) && !(plist1->pl.param_flag & PROCESSED_PARAM)) { + if ((plist1->component_kind == DEF_PARAM) && streq(plist->pl.param_type, plist1->pl.param_type) && !(plist1->pl.param_flag & PROCESSED_PARAM)) { char *star=""; char *pntr = index(plist1->pl.param_type, '*'); if (pntr) star = "*"; @@ -1407,7 +1407,7 @@ int *somefrees; } plist->pl.param_flag |= PROCESSED_PARAM; for (plist1 = defp->pc.plists; plist1; plist1 = plist1->next) { - if (streq(plist->pl.param_type, plist1->pl.param_type) && !(plist1->pl.param_flag & PROCESSED_PARAM)) { + if ((plist1->component_kind == DEF_PARAM) && streq(plist->pl.param_type, plist1->pl.param_type) && !(plist1->pl.param_flag & PROCESSED_PARAM)) { if (plist1->pl.param_flag & INDIRECT_PARAM) { f_print(fout, ", %s", plist1->pl.param_name); } else if (index(plist1->pl.param_type, '*') == 0) { -- 1.9.4