aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-wbxml.c
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2007-03-26 11:06:26 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2007-03-26 11:06:26 +0000
commitd5d5159b6d622cfc12bc8abb269be24529a5795f (patch)
treeb8f2ffabbc79998f21731cceca8a4fca4031281e /epan/dissectors/packet-wbxml.c
parenta2f4ee6daf6d7536b37bb63b7fd64fcfcbffd84c (diff)
From Sebastien Tandel
fixes for various compiler warnings svn path=/trunk/; revision=21210
Diffstat (limited to 'epan/dissectors/packet-wbxml.c')
-rw-r--r--epan/dissectors/packet-wbxml.c169
1 files changed, 87 insertions, 82 deletions
diff --git a/epan/dissectors/packet-wbxml.c b/epan/dissectors/packet-wbxml.c
index d164dace7e..4634e9dbe2 100644
--- a/epan/dissectors/packet-wbxml.c
+++ b/epan/dissectors/packet-wbxml.c
@@ -393,37 +393,73 @@ wv_integer_from_opaque(tvbuff_t *tvb, guint32 offset, guint32 data_len)
}
static char *
-wv_csp10_opaque_literal_tag(tvbuff_t *tvb, guint32 offset,
- const char *token, guint8 codepage _U_, guint32 *length)
+wv_csp11_opaque_binary_tag(tvbuff_t *tvb, guint32 offset,
+ guint8 token, guint8 codepage, guint32 *length)
{
guint32 data_len = tvb_get_guintvar(tvb, offset, length);
char *str = NULL;
- if ( token && ( (strcmp(token, "Code") == 0)
- || (strcmp(token, "ContentSize") == 0)
- || (strcmp(token, "MessageCount") == 0)
- || (strcmp(token, "Validity") == 0)
- || (strcmp(token, "KeepAliveTime") == 0)
- || (strcmp(token, "TimeToLive") == 0)
- || (strcmp(token, "AcceptedContentLength") == 0)
- || (strcmp(token, "MultiTrans") == 0)
- || (strcmp(token, "ParserSize") == 0)
- || (strcmp(token, "ServerPollMin") == 0)
- || (strcmp(token, "TCPAddress") == 0)
- || (strcmp(token, "TCPPort") == 0)
- || (strcmp(token, "UDPPort") == 0) ) )
- {
- str = wv_integer_from_opaque(tvb, offset + *length, data_len);
- }
- else if ( token && ( strcmp(token, "DateTime") == 0) )
- {
- str = wv_datetime_from_opaque(tvb, offset + *length, data_len);
+ switch (codepage) {
+ case 0: /* Common code page */
+ switch (token) {
+ case 0x0B: /* <Code> */
+ case 0x0F: /* <ContentSize> */
+ case 0x1A: /* <MessageCount> */
+ case 0x3C: /* <Validity> */
+ str = wv_integer_from_opaque(tvb,
+ offset + *length, data_len);
+ break;
+ case 0x11: /* <DateTime> */
+ str = wv_datetime_from_opaque(tvb,
+ offset + *length, data_len);
+ break;
+ default:
+ break;
+ }
+ break;
+ case 1: /* Access code page */
+ switch (token) {
+ case 0x1C: /* <KeepAliveTime> */
+ case 0x32: /* <TimeToLive> */
+ str = wv_integer_from_opaque(tvb,
+ offset + *length, data_len);
+ break;
+ default:
+ break;
+ }
+ case 3: /* Client capability code page */
+ switch (token) {
+ case 0x06: /* <AcceptedContentLength> */
+ case 0x0C: /* <MultiTrans> */
+ case 0x0D: /* <ParserSize> */
+ case 0x0E: /* <ServerPollMin> */
+ case 0x12: /* <TCPPort> */
+ case 0x13: /* <UDPPort> */
+ str = wv_integer_from_opaque(tvb,
+ offset + *length, data_len);
+ break;
+ default:
+ break;
+ }
+ break;
+ case 6: /* Messaging code page */
+ switch (token) {
+ case 0x1A: /* <DeliveryTime> - not in 1.0 */
+ str = wv_datetime_from_opaque(tvb,
+ offset + *length, data_len);
+ break;
+ default:
+ break;
+ }
+ break;
+ default:
+ break;
}
-
if (str == NULL) { /* Error, or not parsed */
str = g_strdup_printf("(%d bytes of unparsed opaque data)", data_len);
}
*length += data_len;
+
return str;
}
@@ -489,6 +525,9 @@ wv_csp10_opaque_binary_tag(tvbuff_t *tvb, guint32 offset,
return str;
}
+
+
+#ifdef Remove_this_comment_when_WV_CSP_will_be_an_approved_spec
static char *
wv_csp11_opaque_literal_tag(tvbuff_t *tvb, guint32 offset,
const char *token, guint8 codepage _U_, guint32 *length)
@@ -525,74 +564,39 @@ wv_csp11_opaque_literal_tag(tvbuff_t *tvb, guint32 offset,
return str;
}
+
static char *
-wv_csp11_opaque_binary_tag(tvbuff_t *tvb, guint32 offset,
- guint8 token, guint8 codepage, guint32 *length)
+wv_csp10_opaque_literal_tag(tvbuff_t *tvb, guint32 offset,
+ const char *token, guint8 codepage _U_, guint32 *length)
{
guint32 data_len = tvb_get_guintvar(tvb, offset, length);
char *str = NULL;
- switch (codepage) {
- case 0: /* Common code page */
- switch (token) {
- case 0x0B: /* <Code> */
- case 0x0F: /* <ContentSize> */
- case 0x1A: /* <MessageCount> */
- case 0x3C: /* <Validity> */
- str = wv_integer_from_opaque(tvb,
- offset + *length, data_len);
- break;
- case 0x11: /* <DateTime> */
- str = wv_datetime_from_opaque(tvb,
- offset + *length, data_len);
- break;
- default:
- break;
- }
- break;
- case 1: /* Access code page */
- switch (token) {
- case 0x1C: /* <KeepAliveTime> */
- case 0x32: /* <TimeToLive> */
- str = wv_integer_from_opaque(tvb,
- offset + *length, data_len);
- break;
- default:
- break;
- }
- case 3: /* Client capability code page */
- switch (token) {
- case 0x06: /* <AcceptedContentLength> */
- case 0x0C: /* <MultiTrans> */
- case 0x0D: /* <ParserSize> */
- case 0x0E: /* <ServerPollMin> */
- case 0x12: /* <TCPPort> */
- case 0x13: /* <UDPPort> */
- str = wv_integer_from_opaque(tvb,
- offset + *length, data_len);
- break;
- default:
- break;
- }
- break;
- case 6: /* Messaging code page */
- switch (token) {
- case 0x1A: /* <DeliveryTime> - not in 1.0 */
- str = wv_datetime_from_opaque(tvb,
- offset + *length, data_len);
- break;
- default:
- break;
- }
- break;
- default:
- break;
+ if ( token && ( (strcmp(token, "Code") == 0)
+ || (strcmp(token, "ContentSize") == 0)
+ || (strcmp(token, "MessageCount") == 0)
+ || (strcmp(token, "Validity") == 0)
+ || (strcmp(token, "KeepAliveTime") == 0)
+ || (strcmp(token, "TimeToLive") == 0)
+ || (strcmp(token, "AcceptedContentLength") == 0)
+ || (strcmp(token, "MultiTrans") == 0)
+ || (strcmp(token, "ParserSize") == 0)
+ || (strcmp(token, "ServerPollMin") == 0)
+ || (strcmp(token, "TCPAddress") == 0)
+ || (strcmp(token, "TCPPort") == 0)
+ || (strcmp(token, "UDPPort") == 0) ) )
+ {
+ str = wv_integer_from_opaque(tvb, offset + *length, data_len);
+ }
+ else if ( token && ( strcmp(token, "DateTime") == 0) )
+ {
+ str = wv_datetime_from_opaque(tvb, offset + *length, data_len);
}
+
if (str == NULL) { /* Error, or not parsed */
str = g_strdup_printf("(%d bytes of unparsed opaque data)", data_len);
}
*length += data_len;
-
return str;
}
@@ -715,6 +719,7 @@ wv_csp12_opaque_binary_tag(tvbuff_t *tvb, guint32 offset,
return str;
}
+#endif
static char *
sic10_opaque_literal_attr(tvbuff_t *tvb, guint32 offset,
@@ -5561,7 +5566,7 @@ parse_wbxml_tag_defined (proto_tree *tree, tvbuff_t *tvb, guint32 offset,
DebugLog(("STAG: LITERAL tag (peek = 0x%02X, off = %u) - TableRef follows!\n", peek, off));
index = tvb_get_guintvar (tvb, off+1, &tag_len);
str_len = tvb_strsize (tvb, str_tbl+index);
- tag_new_literal = tvb_get_ptr (tvb, str_tbl+index, str_len);
+ tag_new_literal = (gchar*)tvb_get_ptr (tvb, str_tbl+index, str_len);
tag_new_known = 0; /* invalidate known tag_new */
} else { /* Known tag */
tag_new_known = peek & 0x3F;
@@ -5948,7 +5953,7 @@ parse_wbxml_tag (proto_tree *tree, tvbuff_t *tvb, guint32 offset,
" - TableRef follows!\n", peek, off));
index = tvb_get_guintvar (tvb, off+1, &tag_len);
str_len = tvb_strsize (tvb, str_tbl+index);
- tag_new_literal = tvb_get_ptr (tvb, str_tbl+index, str_len);
+ tag_new_literal = (gchar*)tvb_get_ptr (tvb, str_tbl+index, str_len);
tag_new_known = 0; /* invalidate known tag_new */
} else { /* Known tag */
tag_new_known = peek & 0x3F;