static const aim_tlv privacy_tlvs[] = {
{ AIM_PRIVACY_TLV_MAX_VISIB_LIST_SIZE, "Max visible list size", dissect_aim_tlv_value_uint16 },
{ AIM_PRIVACY_TLV_MAX_INVISIB_LIST_SIZE, "Max invisible list size", dissect_aim_tlv_value_uint16 },
- { 0, "Unknown", NULL },
+ { 0, NULL, NULL },
};
/* Initialize the protocol and registered fields */
static const aim_tlv icq_tlv[] = {
{ TLV_ICQ_META_DATA, "Encapsulated ICQ Meta Data", dissect_aim_tlv_value_icq },
- { 0, "Unknown", NULL },
+ { 0, NULL, NULL },
};
/* Initialize the protocol and registered fields */
{ FAMILY_LOCATION_USERINFO_AWAYENCODING, "Away Msg Encoding", dissect_aim_tlv_value_string },
{ FAMILY_LOCATION_USERINFO_AWAYMSG, "Away Message", dissect_aim_tlv_value_string },
{ FAMILY_LOCATION_USERINFO_CAPS, "Capabilities", dissect_aim_tlv_value_bytes },
- { 0, "Unknown", 0 }
+ { 0, NULL, 0 }
};
#define AIM_LOCATION_RIGHTS_TLV_MAX_PROFILE_LENGTH 0x0001
static const aim_tlv location_rights_tlvs[] = {
{ AIM_LOCATION_RIGHTS_TLV_MAX_PROFILE_LENGTH, "Max Profile Length", dissect_aim_tlv_value_uint16 },
{ AIM_LOCATION_RIGHTS_TLV_MAX_CAPABILITIES, "Max capabilities", dissect_aim_tlv_value_uint16 },
- { 0, "Unknown", NULL }
+ { 0, NULL, NULL }
};
static const aim_tlv location_userinfo_tlvs[] = {
{ AIM_LOCATION_USERINFO_TLV_MIME_TYPE, "Mime Type", dissect_aim_tlv_value_string },
{ AIM_LOCATION_USERINFO_TLV_CLIENT_CAPABILITIES, "Client capabilities", dissect_aim_tlv_value_client_capabilities },
- { 0, "Unknown", NULL }
+ { 0, NULL, NULL }
};
#define FAMILY_LOCATION_USERINFO_INFOTYPE_GENERALINFO 0x0001
{ INCOMING_CH1_ICON_PRESENT, "Icon present", dissect_aim_tlv_value_bytes },
{ INCOMING_CH1_BUDDY_REQ, "Buddy Req", dissect_aim_tlv_value_bytes },
{ INCOMING_CH1_TYPING, "Non-direct connect typing notification", dissect_aim_tlv_value_bytes },
- { 0, "Unknown", NULL },
+ { 0, NULL, NULL },
};
int dissect_aim_tlv_value_rendezvous ( proto_item *ti, guint16 valueid _U_, tvbuff_t *tvb, packet_info *pinfo _U_);
static const aim_tlv messaging_incoming_ch2_tlvs[] = {
{ INCOMING_CH2_SERVER_ACK_REQ, "Server Ack Requested", dissect_aim_tlv_value_bytes },
{ INCOMING_CH2_RENDEZVOUS_DATA, "Rendez Vous Data", dissect_aim_tlv_value_rendezvous },
- { 0, "Unknown", NULL },
+ { 0, NULL, NULL },
};
#define RENDEZVOUS_TLV_INT_IP 0x0003
{ RENDEZVOUS_TLV_EXT_IP, "External IP", dissect_aim_tlv_value_ipv4 },
{ RENDEZVOUS_TLV_EXT_PORT, "External Port", dissect_aim_tlv_value_uint16 },
{ RENDEZVOUS_TLV_CAPABILITY_DATA, "Capability Data", dissect_aim_tlv_value_capability_data },
- { 0, "Unknown", NULL },
+ { 0, NULL, NULL },
};
#define MINITYPING_FINISHED_SIGN 0x0000
static const aim_tlv registration_tlvs[] = {
{ REG_TLV_REGISTRATION_INFO, "Registration Info", dissect_aim_tlv_value_registration },
- { 0, "Unknown", NULL },
+ { 0, NULL, NULL },
};
static int dissect_aim_snac_register (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
static const aim_tlv ssi_rightsinfo_tlvs[] = {
{ SSI_RIGHTSINFO_TLV_MAX_ITEMS, "Maximums For Items", dissect_aim_tlv_value_bytes },
- { 0, "Unknown", NULL },
+ { 0, NULL, NULL },
};
/* Initialize the protocol and registered fields */
{ AIM_CLIENT_TLV_LOCAL_PERSONAL_ALERT, "Personal Alert for Buddy", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_LOCAL_PERSONAL_SOUND, "Personal Sound for Buddy", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_FIRST_MESSAGE_SENT, " First Time Message Sent to Buddy (Unix Timestamp)", dissect_aim_tlv_value_uint32 },
- { 0, "Unknown", NULL },
+ { 0, NULL, NULL },
};
{ AIM_ONLINEBUDDY_SESSIONLEN, "Session Length (sec)", dissect_aim_tlv_value_uint32 },
{ AIM_ONLINEBUDDY_ICQSESSIONLEN, "ICQ Session Length (sec)", dissect_aim_tlv_value_uint32 },
{ AIM_ONLINEBUDDY_AVAILMSG, "Available Message", dissect_aim_tlv_value_bytes },
- { 0, "Unknown", NULL }
+ { 0, NULL, NULL }
};
#define DC_DISABLED 0x0000
const aim_tlv motd_tlvs[] = {
{ AIM_MOTD_TLV_MOTD, "Message of the day message", dissect_aim_tlv_value_string },
- { 0, "Unknown", NULL }
+ { 0, NULL, NULL }
};
#define CLASS_UNCONFIRMED 0x0001
static const aim_tlv fnac_tlvs[] = {
{ FNAC_TLV_FAMILY_VERSION, "SNAC Family Version", dissect_aim_tlv_value_uint16 },
- { 0, "Unknown", NULL }
+ { 0, NULL, NULL }
};
static int dissect_aim(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
guint16 length;
int i = 0;
const aim_tlv *tmp;
+ const char *desc;
proto_item *ti1;
proto_tree *tlv_tree;
int orig_offset;
if (tree) {
offset = orig_offset;
+
+ if (tmp[i].desc != NULL)
+ desc = tmp[i].desc;
+ else
+ desc = "Unknown";
- ti1 = proto_tree_add_text(tree, tvb, offset, length + 4, "TLV: %s", tmp[i].desc);
+ ti1 = proto_tree_add_text(tree, tvb, offset, length + 4, "TLV: %s", desc);
tlv_tree = proto_item_add_subtree(ti1, ett_aim_tlv);
proto_tree_add_text(tlv_tree, tvb, offset, 2,
- "Value ID: %s (0x%04x)", tmp[i].desc, valueid);
+ "Value ID: %s (0x%04x)", desc, valueid);
offset += 2;
proto_tree_add_text(tlv_tree, tvb, offset, 2,