aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/dcerpc
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2005-02-14 19:46:03 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2005-02-14 19:46:03 +0000
commit48ffe7c8940fa98e2673e13d176a8c4c33fc8b3a (patch)
tree6406be85b8f75fbf38bcc7a682d3c3130faea3e9 /epan/dissectors/dcerpc
parent1c644d6ff722e8126d291cac3e187ca6343459aa (diff)
downloadwireshark-48ffe7c8940fa98e2673e13d176a8c4c33fc8b3a.tar.gz
wireshark-48ffe7c8940fa98e2673e13d176a8c4c33fc8b3a.tar.bz2
wireshark-48ffe7c8940fa98e2673e13d176a8c4c33fc8b3a.zip
make idl-lite compiler handle varying arrays
svn path=/trunk/; revision=13400
Diffstat (limited to 'epan/dissectors/dcerpc')
-rw-r--r--epan/dissectors/dcerpc/idl2eth.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/epan/dissectors/dcerpc/idl2eth.c b/epan/dissectors/dcerpc/idl2eth.c
index a895736760..5234d87682 100644
--- a/epan/dissectors/dcerpc/idl2eth.c
+++ b/epan/dissectors/dcerpc/idl2eth.c
@@ -1501,6 +1501,17 @@ void parsetypedefstruct(int pass)
FPRINTF(eth_code, "\n");
ptmpstr=strdup(tmpstr);
break;
+ case BI_LENGTH_IS:
+ sprintf(tmpstr, "uvarray_%s", ptmpstr);
+ FPRINTF(eth_code, "static int\n");
+ FPRINTF(eth_code, "%s(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)\n", tmpstr);
+ FPRINTF(eth_code, "{\n");
+ FPRINTF(eth_code, " offset=dissect_ndr_uvarray(tvb, offset, pinfo, tree, drep, %s);\n", ptmpstr);
+ FPRINTF(eth_code, " return offset;\n");
+ FPRINTF(eth_code, "}\n");
+ FPRINTF(eth_code, "\n");
+ ptmpstr=strdup(tmpstr);
+ break;
case BI_SIZE_IS|BI_LENGTH_IS:
sprintf(tmpstr, "ucvarray_%s", ptmpstr);
FPRINTF(eth_code, "static int\n");
@@ -1559,6 +1570,10 @@ void parsetypedefstruct(int pass)
sprintf(tmpstr, "ucarray_%s", ptmpstr);
ptmpstr=strdup(tmpstr);
break;
+ case BI_LENGTH_IS:
+ sprintf(tmpstr, "uvarray_%s", ptmpstr);
+ ptmpstr=strdup(tmpstr);
+ break;
case BI_SIZE_IS|BI_LENGTH_IS:
sprintf(tmpstr, "ucvarray_%s", ptmpstr);
ptmpstr=strdup(tmpstr);