rxgen-multi-prototypes-20051014
authorJeffrey Altman <jaltman@secure-endpoints.com>
Sat, 15 Oct 2005 02:18:34 +0000 (02:18 +0000)
committerDerrick Brashear <shadow@dementia.org>
Sat, 15 Oct 2005 02:18:34 +0000 (02:18 +0000)
FIXES 22349

generate prototypes for split stuff when the stub is multi

src/rxgen/rpc_hout.c
src/rxgen/rpc_parse.c
src/rxgen/rpc_parse.h

index 34618d5..a0abfa2 100644 (file)
@@ -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",
index 63a47fa..74b81cc 100644 (file)
@@ -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;
index 84c2adf..81977e9 100644 (file)
@@ -188,6 +188,7 @@ struct procedure_def {
 #define        INOUT   2
     short paramtypes[3];
     char split_flag;
+    char multi_flag;
     relation rel;
     proc1_list *plists;
 };