The branch, v3-6-test has been updated
       via  902fb32 frstrans.idl: add idl for RawGetFileDataAsync() and 
RdcGetFileDataAsync()
       via  5f6ed3f pidl: add support for 'pipe' at the NDR layer
       via  35615f0 pidl/idl.yp: fill 'pipe' elements with array and count
       via  926d537 pidl:NDR/Client: skip all functions if pipe elements are 
used
       via  0b479cb pidl:NDR/Client: skip sync functions if pipe elements are 
used
       via  0536914 pidl:Python: don't generate functions with pipe elements
       via  9dcd0b0 pidl:Samba3/ClientNDR: don't generate stubs for functions 
with pipe elements
       via  a24476d pidl/NDR: add ContainsPipe() function
       via  a1fc75a librpc/tools/ndrdump: add support for dcerpc 'pipe' 
elements in functions
       via  3dbb218 librpc/ndr: add ndr_push_pipe_chunk_trailer() and 
ndr_check_pipe_chunk_trailer()
       via  101c57e librpc/ndr: add ndr_interface_call_pipe
       via  6c07d0a pidl/Typelist: add is_fixed_size_scalar()
       via  7d5c980 pidl/Typelist: dnsp_name and dnsp_string are scalar 
references
      from  a938c1c s3:test: ignore "setup directory" parameter in the net 
registry roundtrip test

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test


- Log -----------------------------------------------------------------
commit 902fb321f8d76e59f15710e3c3e27c81d2a0946d
Author: Stefan Metzmacher <[email protected]>
Date:   Sat Sep 18 19:45:27 2010 +0200

    frstrans.idl: add idl for RawGetFileDataAsync() and RdcGetFileDataAsync()
    
    metze
    
    Autobuild-User: Stefan Metzmacher <[email protected]>
    Autobuild-Date: Thu Mar 10 15:18:22 CET 2011 on sn-devel-104
    (cherry picked from commit 969c7bd77bdda55b9a07fc6381c4c1f562861cbe)

commit 5f6ed3f151d3678775d120b01a45009d8846e7e7
Author: Stefan Metzmacher <[email protected]>
Date:   Tue Sep 21 01:44:38 2010 +0200

    pidl: add support for 'pipe' at the NDR layer
    
    metze
    (cherry picked from commit d79fb9098bc3ce37daa8ab6d51dc62ad0bc2ad26)

commit 35615f011c91344d737db0830f8549cf2ac9ef67
Author: Stefan Metzmacher <[email protected]>
Date:   Tue Sep 21 19:30:08 2010 +0200

    pidl/idl.yp: fill 'pipe' elements with array and count
    
    metze
    (cherry picked from commit f43e757096750dc2844af49363981fd0246d9f48)

commit 926d537728e04f55f62ea7a82ec224a9c81457c6
Author: Stefan Metzmacher <[email protected]>
Date:   Mon Oct 11 08:03:18 2010 +0200

    pidl:NDR/Client: skip all functions if pipe elements are used
    
    We don't support pipe at the dcerpc level yet.
    
    metze
    (cherry picked from commit 91ef69435167f44d1353e15cef2eb4969b53d27c)

commit 0b479cb9052b8e50dfdd470eaf179253d2000267
Author: Stefan Metzmacher <[email protected]>
Date:   Mon Oct 11 08:03:18 2010 +0200

    pidl:NDR/Client: skip sync functions if pipe elements are used
    
    metze
    (cherry picked from commit f383497436dbbadfdcb1062fee0c111eca50df7d)

commit 05369146cbfd781fa4942d765955b30b756b7768
Author: Stefan Metzmacher <[email protected]>
Date:   Mon Oct 11 07:54:59 2010 +0200

    pidl:Python: don't generate functions with pipe elements
    
    metze
    (cherry picked from commit 7537f9c9bb78992850a641973a8df818d2fcaf25)

commit 9dcd0b0ebb760851b87156160c1962e5e848c633
Author: Stefan Metzmacher <[email protected]>
Date:   Mon Oct 11 07:53:48 2010 +0200

    pidl:Samba3/ClientNDR: don't generate stubs for functions with pipe elements
    
    metze
    (cherry picked from commit 29bd658634e9afe0037170a2f3ad2512f9106761)

commit a24476d527397a14a6225502fb436601de93b4a2
Author: Stefan Metzmacher <[email protected]>
Date:   Tue Sep 21 02:20:14 2010 +0200

    pidl/NDR: add ContainsPipe() function
    
    metze
    (cherry picked from commit eaa7ecdda7938e12db94f5ecbb978e5e7bca5f16)

commit a1fc75a9fbddd397b8640f8476adcd9f23ad04ce
Author: Stefan Metzmacher <[email protected]>
Date:   Tue Sep 21 08:34:31 2010 +0200

    librpc/tools/ndrdump: add support for dcerpc 'pipe' elements in functions
    
    metze
    (cherry picked from commit 7d451838b978b7a88bc45a9fc878b99af59be7c3)

commit 3dbb2187444306db5a505e13f9c02973faf6dfec
Author: Stefan Metzmacher <[email protected]>
Date:   Tue Sep 21 05:18:02 2010 +0200

    librpc/ndr: add ndr_push_pipe_chunk_trailer() and 
ndr_check_pipe_chunk_trailer()
    
    metze
    (cherry picked from commit 2a47ed81066ccf7573b80e0a85bce8eb9866c628)

commit 101c57e90d9feb653de182164ab6c3def79eef71
Author: Stefan Metzmacher <[email protected]>
Date:   Sun Sep 19 13:56:13 2010 +0200

    librpc/ndr: add ndr_interface_call_pipe
    
    metze
    (cherry picked from commit eceea8641e9079534a15ce01d24ef94acbe49d98)

commit 6c07d0a6010268f795de908f28ec97c93fddad46
Author: Stefan Metzmacher <[email protected]>
Date:   Tue Mar 8 15:45:33 2011 +0100

    pidl/Typelist: add is_fixed_size_scalar()
    
    metze
    (cherry picked from commit 6e4e3f57e43189fa2944c841982621594d167d2d)

commit 7d5c980030116e11a5714722d5920e7e8a69e747
Author: Stefan Metzmacher <[email protected]>
Date:   Tue Mar 8 15:44:31 2011 +0100

    pidl/Typelist: dnsp_name and dnsp_string are scalar references
    
    metze
    (cherry picked from commit 6ef40f31992455c7603f0722846cfab4fe4fa0bc)

-----------------------------------------------------------------------

Summary of changes:
 librpc/idl/frstrans.idl                  |   12 ++-
 librpc/ndr/libndr.h                      |   18 +++
 librpc/ndr/ndr.c                         |   34 +++++
 librpc/tools/ndrdump.c                   |   78 ++++++++++-
 pidl/idl.yp                              |   26 ++++-
 pidl/lib/Parse/Pidl/IDL.pm               |   86 ++++++++-----
 pidl/lib/Parse/Pidl/NDR.pm               |  149 ++++++++++++++++++++--
 pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm  |   11 ++
 pidl/lib/Parse/Pidl/Samba4/Header.pm     |   26 ++++
 pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm |   66 +++++++++-
 pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm |  213 +++++++++++++++++++++++++++++-
 pidl/lib/Parse/Pidl/Samba4/Python.pm     |   11 ++-
 pidl/lib/Parse/Pidl/Typelist.pm          |   33 ++++-
 13 files changed, 701 insertions(+), 62 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/idl/frstrans.idl b/librpc/idl/frstrans.idl
index 74f3c64..a60529b 100644
--- a/librpc/idl/frstrans.idl
+++ b/librpc/idl/frstrans.idl
@@ -277,9 +277,17 @@ interface frstrans
 
        /*****************/
        /* Function 0x0f */
-       [todo] void FRSTRANS_RAW_GET_FILE_DATA_ASYNC();
+       typedef pipe uint8 frstrans_BytePipe;
+
+       WERROR frstrans_RawGetFileDataAsync(
+               [in,ref] policy_handle *server_context,
+               [out,ref] frstrans_BytePipe *byte_pipe
+               );
 
        /*****************/
        /* Function 0x10 */
-       [todo] void FRSTRANS_RDC_GET_FILE_DATA_ASYNC();
+       WERROR frstrans_RdcGetFileDataAsync(
+               [in,ref] policy_handle *server_context,
+               [out,ref] frstrans_BytePipe *byte_pipe
+               );
 }
diff --git a/librpc/ndr/libndr.h b/librpc/ndr/libndr.h
index 21e4bda..1f1f019 100644
--- a/librpc/ndr/libndr.h
+++ b/librpc/ndr/libndr.h
@@ -330,12 +330,28 @@ extern const struct ndr_syntax_id ndr_transfer_syntax;
 extern const struct ndr_syntax_id ndr64_transfer_syntax;
 extern const struct ndr_syntax_id null_ndr_syntax_id;
 
+struct ndr_interface_call_pipe {
+       const char *name;
+       const char *chunk_struct_name;
+       size_t chunk_struct_size;
+       ndr_push_flags_fn_t ndr_push;
+       ndr_pull_flags_fn_t ndr_pull;
+       ndr_print_fn_t ndr_print;
+};
+
+struct ndr_interface_call_pipes {
+       uint32_t num_pipes;
+       const struct ndr_interface_call_pipe *pipes;
+};
+
 struct ndr_interface_call {
        const char *name;
        size_t struct_size;
        ndr_push_flags_fn_t ndr_push;
        ndr_pull_flags_fn_t ndr_pull;
        ndr_print_function_t ndr_print;
+       struct ndr_interface_call_pipes in_pipes;
+       struct ndr_interface_call_pipes out_pipes;
 };
 
 struct ndr_interface_string_array {
@@ -453,6 +469,8 @@ enum ndr_err_code ndr_check_array_size(struct ndr_pull 
*ndr, void *p, uint32_t s
 enum ndr_err_code ndr_pull_array_length(struct ndr_pull *ndr, const void *p);
 uint32_t ndr_get_array_length(struct ndr_pull *ndr, const void *p);
 enum ndr_err_code ndr_check_array_length(struct ndr_pull *ndr, void *p, 
uint32_t length);
+enum ndr_err_code ndr_push_pipe_chunk_trailer(struct ndr_push *ndr, int 
ndr_flags, uint32_t count);
+enum ndr_err_code ndr_check_pipe_chunk_trailer(struct ndr_pull *ndr, int 
ndr_flags, uint32_t count);
 enum ndr_err_code ndr_push_set_switch_value(struct ndr_push *ndr, const void 
*p, uint32_t val);
 enum ndr_err_code ndr_pull_set_switch_value(struct ndr_pull *ndr, const void 
*p, uint32_t val);
 enum ndr_err_code ndr_print_set_switch_value(struct ndr_print *ndr, const void 
*p, uint32_t val);
diff --git a/librpc/ndr/ndr.c b/librpc/ndr/ndr.c
index cfeb231..56d1fab 100644
--- a/librpc/ndr/ndr.c
+++ b/librpc/ndr/ndr.c
@@ -829,6 +829,40 @@ _PUBLIC_ enum ndr_err_code ndr_check_array_length(struct 
ndr_pull *ndr, void *p,
        return NDR_ERR_SUCCESS;
 }
 
+_PUBLIC_ enum ndr_err_code ndr_push_pipe_chunk_trailer(struct ndr_push *ndr, 
int ndr_flags, uint32_t count)
+{
+       if (ndr->flags & LIBNDR_FLAG_NDR64) {
+               int64_t tmp = 0 - (int64_t)count;
+               uint64_t ncount = tmp;
+
+               NDR_CHECK(ndr_push_hyper(ndr, ndr_flags, ncount));
+       }
+
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ enum ndr_err_code ndr_check_pipe_chunk_trailer(struct ndr_pull *ndr, 
int ndr_flags, uint32_t count)
+{
+       if (ndr->flags & LIBNDR_FLAG_NDR64) {
+               int64_t tmp = 0 - (int64_t)count;
+               uint64_t ncount1 = tmp;
+               uint64_t ncount2;
+
+               NDR_CHECK(ndr_pull_hyper(ndr, ndr_flags, &ncount2));
+               if (ncount1 == ncount2) {
+                       return NDR_ERR_SUCCESS;
+               }
+
+               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE,
+                       "Bad pipe trailer[%lld should be %lld] size was %lu\"",
+                       (unsigned long long)ncount2,
+                       (unsigned long long)ncount1,
+                       (unsigned long)count);
+       }
+
+       return NDR_ERR_SUCCESS;
+}
+
 /*
   store a switch value
  */
diff --git a/librpc/tools/ndrdump.c b/librpc/tools/ndrdump.c
index f0f4eaf..284dbce 100644
--- a/librpc/tools/ndrdump.c
+++ b/librpc/tools/ndrdump.c
@@ -137,6 +137,53 @@ static void ndrdump_data(uint8_t *d, uint32_t l, bool 
force)
        dump_data_cb(d, l, !force, printf_cb, NULL);
 }
 
+static NTSTATUS ndrdump_pull_and_print_pipes(const char *function,
+                               struct ndr_pull *ndr_pull,
+                               struct ndr_print *ndr_print,
+                               const struct ndr_interface_call_pipes *pipes)
+{
+       NTSTATUS status;
+       enum ndr_err_code ndr_err;
+       uint32_t i;
+
+       for (i=0; i < pipes->num_pipes; i++) {
+               uint64_t idx = 0;
+               while (true) {
+                       uint32_t *count;
+                       void *c;
+                       char *n;
+
+                       c = talloc_zero_size(ndr_pull, 
pipes->pipes[i].chunk_struct_size);
+                       talloc_set_name(c, "struct %s", pipes->pipes[i].name);
+                       /*
+                        * Note: the first struct member is always
+                        * 'uint32_t count;'
+                        */
+                       count = (uint32_t *)c;
+
+                       n = talloc_asprintf(c, "%s: %s[%llu]",
+                                       function, pipes->pipes[i].name,
+                                       (unsigned long long)idx);
+
+                       ndr_err = pipes->pipes[i].ndr_pull(ndr_pull, 
NDR_SCALARS, c);
+                       status = ndr_map_error2ntstatus(ndr_err);
+
+                       printf("pull returned %s\n", nt_errstr(status));
+                       if (!NT_STATUS_IS_OK(status)) {
+                               return status;
+                       }
+                       pipes->pipes[i].ndr_print(ndr_print, n, c);
+
+                       if (*count == 0) {
+                               break;
+                       }
+                       idx++;
+               }
+       }
+
+       return NT_STATUS_OK;
+}
+
  int main(int argc, const char *argv[])
 {
        const struct ndr_interface_table *p = NULL;
@@ -172,6 +219,8 @@ static void ndrdump_data(uint8_t *d, uint32_t l, bool force)
                POPT_COMMON_VERSION
                { NULL }
        };
+       struct ndr_interface_call_pipes *in_pipes = NULL;
+       struct ndr_interface_call_pipes *out_pipes = NULL;
 
        ndr_table_init();
 
@@ -247,19 +296,21 @@ static void ndrdump_data(uint8_t *d, uint32_t l, bool 
force)
                exit(1);
        }
 
+       f = find_function(p, function);
+
        if (strcmp(inout, "in") == 0 ||
            strcmp(inout, "request") == 0) {
                flags = NDR_IN;
+               in_pipes = &f->in_pipes;
        } else if (strcmp(inout, "out") == 0 ||
                   strcmp(inout, "response") == 0) {
                flags = NDR_OUT;
+               out_pipes = &f->out_pipes;
        } else {
                printf("Bad inout value '%s'\n", inout);
                exit(1);
        }
 
-       f = find_function(p, function);
-
        mem_ctx = talloc_init("ndrdump");
 
        st = talloc_zero_size(mem_ctx, f->struct_size);
@@ -331,6 +382,18 @@ static void ndrdump_data(uint8_t *d, uint32_t l, bool 
force)
                ndr_pull->flags |= LIBNDR_FLAG_NDR64;
        }
 
+       ndr_print = talloc_zero(mem_ctx, struct ndr_print);
+       ndr_print->print = ndr_print_printf_helper;
+       ndr_print->depth = 1;
+
+       if (out_pipes) {
+               status = ndrdump_pull_and_print_pipes(function, ndr_pull, 
ndr_print, out_pipes);
+               if (!NT_STATUS_IS_OK(status)) {
+                       printf("dump FAILED\n");
+                       exit(1);
+               }
+       }
+
        ndr_err = f->ndr_pull(ndr_pull, flags, st);
        status = ndr_map_error2ntstatus(ndr_err);
 
@@ -348,9 +411,6 @@ static void ndrdump_data(uint8_t *d, uint32_t l, bool force)
                ndrdump_data(blob.data, blob.length, dumpdata);
        }
 
-       ndr_print = talloc_zero(mem_ctx, struct ndr_print);
-       ndr_print->print = ndr_print_printf_helper;
-       ndr_print->depth = 1;
        f->ndr_print(ndr_print, function, flags, st);
 
        if (!NT_STATUS_IS_OK(status)) {
@@ -358,6 +418,14 @@ static void ndrdump_data(uint8_t *d, uint32_t l, bool 
force)
                exit(1);
        }
 
+       if (in_pipes) {
+               status = ndrdump_pull_and_print_pipes(function, ndr_pull, 
ndr_print, in_pipes);
+               if (!NT_STATUS_IS_OK(status)) {
+                       printf("dump FAILED\n");
+                       exit(1);
+               }
+       }
+
        if (validate) {
                DATA_BLOB v_blob;
                struct ndr_push *ndr_v_push;
diff --git a/pidl/idl.yp b/pidl/idl.yp
index 0062859..b5c5185 100644
--- a/pidl/idl.yp
+++ b/pidl/idl.yp
@@ -387,7 +387,31 @@ pipe:
        {{
                "TYPE" => "PIPE",
                "PROPERTIES" => $_[1],
-               "DATA" => $_[3],
+               "NAME" => undef,
+               "DATA" => {
+                       "TYPE" => "STRUCT",
+                       "PROPERTIES" => $_[1],
+                       "NAME" => undef,
+                       "ELEMENTS" => [{
+                               "NAME" => "count",
+                               "PROPERTIES" => $_[1],
+                               "POINTERS" => 0,
+                               "ARRAY_LEN" => [],
+                               "TYPE" => "uint3264",
+                               "FILE" => $_[0]->YYData->{FILE},
+                               "LINE" => $_[0]->YYData->{LINE},
+                       },{
+                               "NAME" => "array",
+                               "PROPERTIES" => $_[1],
+                               "POINTERS" => 0,
+                               "ARRAY_LEN" => [ "count" ],
+                               "TYPE" => $_[3],
+                               "FILE" => $_[0]->YYData->{FILE},
+                               "LINE" => $_[0]->YYData->{LINE},
+                       }],
+                       "FILE" => $_[0]->YYData->{FILE},
+                       "LINE" => $_[0]->YYData->{LINE},
+               },
                "FILE" => $_[0]->YYData->{FILE},
                "LINE" => $_[0]->YYData->{LINE},
        }}
diff --git a/pidl/lib/Parse/Pidl/IDL.pm b/pidl/lib/Parse/Pidl/IDL.pm
index bafa2ce..d4820ff 100644
--- a/pidl/lib/Parse/Pidl/IDL.pm
+++ b/pidl/lib/Parse/Pidl/IDL.pm
@@ -2249,7 +2249,31 @@ sub
 {{
                "TYPE" => "PIPE",
                "PROPERTIES" => $_[1],
-               "DATA" => $_[3],
+               "NAME" => undef,
+               "DATA" => {
+                       "TYPE" => "STRUCT",
+                       "PROPERTIES" => $_[1],
+                       "NAME" => undef,
+                       "ELEMENTS" => [{
+                               "NAME" => "count",
+                               "PROPERTIES" => $_[1],
+                               "POINTERS" => 0,
+                               "ARRAY_LEN" => [],
+                               "TYPE" => "uint3264",
+                               "FILE" => $_[0]->YYData->{FILE},
+                               "LINE" => $_[0]->YYData->{LINE},
+                       },{
+                               "NAME" => "array",
+                               "PROPERTIES" => $_[1],
+                               "POINTERS" => 0,
+                               "ARRAY_LEN" => [ "count" ],
+                               "TYPE" => $_[3],
+                               "FILE" => $_[0]->YYData->{FILE},
+                               "LINE" => $_[0]->YYData->{LINE},
+                       }],
+                       "FILE" => $_[0]->YYData->{FILE},
+                       "LINE" => $_[0]->YYData->{LINE},
+               },
                "FILE" => $_[0]->YYData->{FILE},
                "LINE" => $_[0]->YYData->{LINE},
        }}
@@ -2257,13 +2281,13 @@ sub
        [#Rule 78
                 'element_list1', 0,
 sub
-#line 398 "idl.yp"
+#line 422 "idl.yp"
 { [] }
        ],
        [#Rule 79
                 'element_list1', 3,
 sub
-#line 400 "idl.yp"
+#line 424 "idl.yp"
 { push(@{$_[1]}, $_[2]); $_[1] }
        ],
        [#Rule 80
@@ -2281,13 +2305,13 @@ sub
        [#Rule 84
                 'element_list2', 2,
 sub
-#line 414 "idl.yp"
+#line 438 "idl.yp"
 { [ $_[2] ] }
        ],
        [#Rule 85
                 'element_list2', 4,
 sub
-#line 416 "idl.yp"
+#line 440 "idl.yp"
 { push(@{$_[1]}, $_[4]); $_[1] }
        ],
        [#Rule 86
@@ -2296,13 +2320,13 @@ sub
        [#Rule 87
                 'array_len', 3,
 sub
-#line 422 "idl.yp"
+#line 446 "idl.yp"
 { push(@{$_[3]}, "*"); $_[3] }
        ],
        [#Rule 88
                 'array_len', 4,
 sub
-#line 424 "idl.yp"
+#line 448 "idl.yp"
 { push(@{$_[4]}, "$_[2]"); $_[4] }
        ],
        [#Rule 89
@@ -2311,31 +2335,31 @@ sub
        [#Rule 90
                 'property_list', 4,
 sub
-#line 430 "idl.yp"
+#line 454 "idl.yp"
 { FlattenHash([$_[1],$_[3]]); }
        ],
        [#Rule 91
                 'properties', 1,
 sub
-#line 434 "idl.yp"
+#line 458 "idl.yp"
 { $_[1] }
        ],
        [#Rule 92
                 'properties', 3,
 sub
-#line 436 "idl.yp"
+#line 460 "idl.yp"
 { FlattenHash([$_[1], $_[3]]); }
        ],
        [#Rule 93
                 'property', 1,
 sub
-#line 440 "idl.yp"
+#line 464 "idl.yp"
 {{ "$_[1]" => "1"     }}
        ],
        [#Rule 94
                 'property', 4,
 sub
-#line 442 "idl.yp"
+#line 466 "idl.yp"
 {{ "$_[1]" => "$_[3]" }}
        ],
        [#Rule 95
@@ -2344,13 +2368,13 @@ sub
        [#Rule 96
                 'commalisttext', 3,
 sub
-#line 448 "idl.yp"
+#line 472 "idl.yp"
 { "$_[1],$_[3]" }
        ],
        [#Rule 97
                 'anytext', 0,
 sub
-#line 453 "idl.yp"
+#line 477 "idl.yp"
 { "" }
        ],
        [#Rule 98
@@ -2365,91 +2389,91 @@ sub
        [#Rule 101
                 'anytext', 3,
 sub
-#line 461 "idl.yp"
+#line 485 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
        [#Rule 102
                 'anytext', 3,
 sub
-#line 463 "idl.yp"
+#line 487 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
        [#Rule 103
                 'anytext', 3,
 sub
-#line 465 "idl.yp"
+#line 489 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
        [#Rule 104
                 'anytext', 3,
 sub
-#line 467 "idl.yp"
+#line 491 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
        [#Rule 105
                 'anytext', 3,
 sub
-#line 469 "idl.yp"
+#line 493 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
        [#Rule 106
                 'anytext', 3,
 sub
-#line 471 "idl.yp"
+#line 495 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
        [#Rule 107
                 'anytext', 3,
 sub
-#line 473 "idl.yp"
+#line 497 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
        [#Rule 108
                 'anytext', 3,
 sub
-#line 475 "idl.yp"
+#line 499 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
        [#Rule 109
                 'anytext', 3,
 sub
-#line 477 "idl.yp"
+#line 501 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
        [#Rule 110
                 'anytext', 3,
 sub
-#line 479 "idl.yp"
+#line 503 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
        [#Rule 111
                 'anytext', 3,
 sub
-#line 481 "idl.yp"
+#line 505 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
        [#Rule 112


-- 
Samba Shared Repository

Reply via email to