summaryrefslogtreecommitdiff
path: root/asn1/ulp
diff options
context:
space:
mode:
authorTomas Kukosa <tomas.kukosa@siemens.com>2007-05-24 13:30:45 +0000
committerTomas Kukosa <tomas.kukosa@siemens.com>2007-05-24 13:30:45 +0000
commit3ecba488981ce35f44be79c9a03622afee2ff70e (patch)
treefe31d81dcc5c5a63b4d1c412b7c3613127a87bb7 /asn1/ulp
parentb20af30b48b64ae9a5744802ef33158e4ab387ff (diff)
downloadwireshark-3ecba488981ce35f44be79c9a03622afee2ff70e.tar.gz
fix rrlp subdissector calling
svn path=/trunk/; revision=21921
Diffstat (limited to 'asn1/ulp')
-rw-r--r--asn1/ulp/packet-ulp-template.c36
-rw-r--r--asn1/ulp/ulp.cnf4
2 files changed, 21 insertions, 19 deletions
diff --git a/asn1/ulp/packet-ulp-template.c b/asn1/ulp/packet-ulp-template.c
index a9c43a9da1..73e0577e36 100644
--- a/asn1/ulp/packet-ulp-template.c
+++ b/asn1/ulp/packet-ulp-template.c
@@ -47,8 +47,8 @@
#define PSNAME "ULP"
#define PFNAME "ulp"
-static dissector_handle_t ulp_handle=NULL;
-static dissector_handle_t rrlp_handle;
+static dissector_handle_t ulp_handle = NULL;
+static dissector_handle_t rrlp_handle = NULL;
/* IANA Registered Ports
* oma-ulp 7275/tcp OMA UserPlane Location
@@ -90,22 +90,8 @@ dissect_ulp_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
tcp_dissect_pdus(tvb, pinfo, tree, ulp_desegment, ULP_HEADER_SIZE,
get_ulp_pdu_len, dissect_ULP_PDU_PDU);
}
-/*--- proto_reg_handoff_ulp ---------------------------------------*/
-void
-proto_reg_handoff_ulp(void)
-{
-
- ulp_handle = create_dissector_handle(dissect_ulp_tcp, proto_ulp);
-
- dissector_add("tcp.port", gbl_ulp_port, ulp_handle);
-
- /* application/oma-supl-ulp */
- dissector_add_string("media_type","application/oma-supl-ulp", ulp_handle);
-
- rrlp_handle = find_dissector("rrlp");
-
-}
+void proto_reg_handoff_ulp(void);
/*--- proto_register_ulp -------------------------------------------*/
void proto_register_ulp(void) {
@@ -149,3 +135,19 @@ void proto_register_ulp(void) {
}
+/*--- proto_reg_handoff_ulp ---------------------------------------*/
+void
+proto_reg_handoff_ulp(void)
+{
+
+ ulp_handle = create_dissector_handle(dissect_ulp_tcp, proto_ulp);
+
+ dissector_add("tcp.port", gbl_ulp_port, ulp_handle);
+
+ /* application/oma-supl-ulp */
+ dissector_add_string("media_type","application/oma-supl-ulp", ulp_handle);
+
+ rrlp_handle = find_dissector("rrlp");
+
+}
+
diff --git a/asn1/ulp/ulp.cnf b/asn1/ulp/ulp.cnf
index 778bb9bf25..677297e541 100644
--- a/asn1/ulp/ulp.cnf
+++ b/asn1/ulp/ulp.cnf
@@ -32,12 +32,12 @@ guint32 UlpMessage;
}
#.END
-#.FN_BODY RRLPPayload VAL_PTR = &rrlp_tvb
+#.FN_BODY PosPayLoad/rrlpPayload VAL_PTR = &rrlp_tvb
tvbuff_t *rrlp_tvb;
%(DEFAULT_BODY)s
- if (rrlp_tvb){
+ if (rrlp_tvb && rrlp_handle) {
call_dissector(rrlp_handle, rrlp_tvb, %(ACTX)s->pinfo, tree);
}
#.END