From: Jeffrey Altman Date: Sat, 15 Oct 2005 02:20:03 +0000 (+0000) Subject: STABLE14-rxgen-multi-prototypes-20051014 X-Git-Tag: openafs-stable-1_4_1-rc1~34 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=b5a6a4d16aa8602e8120026a1ff424bb52ba8b9a;p=packages%2Fo%2Fopenafs.git STABLE14-rxgen-multi-prototypes-20051014 FIXES 22349 generate prototypes for split stuff when the stub is multi (cherry picked from commit a9fd6619a4e74930ae27744f95f04fefabaa6c9f) --- diff --git a/src/rxgen/rpc_hout.c b/src/rxgen/rpc_hout.c index 34618d52f..a0abfa2d5 100644 --- a/src/rxgen/rpc_hout.c +++ b/src/rxgen/rpc_hout.c @@ -259,8 +259,9 @@ static void psprocdef(definition * defp) { int split_flag = defp->pc.split_flag; + int multi_flag = defp->pc.multi_flag; - if (split_flag) { + if (split_flag || multi_flag) { psproc1(defp, 1, "int", "Start", (1 << DEF_INPARAM) | (1 << DEF_INOUTPARAM)); psproc1(defp, 1, "int", "End", diff --git a/src/rxgen/rpc_parse.c b/src/rxgen/rpc_parse.c index 63a47fa8b..74b81cc53 100644 --- a/src/rxgen/rpc_parse.c +++ b/src/rxgen/rpc_parse.c @@ -775,7 +775,10 @@ check_proc(definition * defp, token * tokp, int noname) scan4(TOK_SPLIT, TOK_MULTI, TOK_EQUAL, TOK_SEMICOLON, &tok); if (tok.kind == TOK_MULTI) { proc_multi = 1; + defp->pc.multi_flag = 1; scan2(TOK_EQUAL, TOK_SEMICOLON, &tok); + } else { + defp->pc.multi_flag = 0; } if (tok.kind == TOK_SPLIT) { proc_split = 1; diff --git a/src/rxgen/rpc_parse.h b/src/rxgen/rpc_parse.h index 84c2adfa6..81977e9a3 100644 --- a/src/rxgen/rpc_parse.h +++ b/src/rxgen/rpc_parse.h @@ -188,6 +188,7 @@ struct procedure_def { #define INOUT 2 short paramtypes[3]; char split_flag; + char multi_flag; relation rel; proc1_list *plists; };