aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-tpncp.c
diff options
context:
space:
mode:
authorsfisher <sfisher@f5534014-38df-0310-8fa8-9805f1628bb7>2008-03-13 04:49:37 +0000
committersfisher <sfisher@f5534014-38df-0310-8fa8-9805f1628bb7>2008-03-13 04:49:37 +0000
commit5d0ff6870738e4763f80a833b7fb05eb208fba24 (patch)
tree2261f27772f83621a58a54de5a906a10b0ca78da /epan/dissectors/packet-tpncp.c
parent94936854696783025b15c9934f55780a60b9e5a6 (diff)
Save about 1MB of RAM that was wasted for the entire Wireshark session.
This is done by using dynamically allocated memory for tpncp field names instead of relying on a static array of 256 bytes. This makes a noticeable difference because there are so many entries in tpncp/tpncp.dat. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@24614 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-tpncp.c')
-rw-r--r--epan/dissectors/packet-tpncp.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/epan/dissectors/packet-tpncp.c b/epan/dissectors/packet-tpncp.c
index 33b18bbf45..209e40cd4d 100644
--- a/epan/dissectors/packet-tpncp.c
+++ b/epan/dissectors/packet-tpncp.c
@@ -54,7 +54,6 @@
#define UDP_PORT_TPNCP_HOST BASE_TPNCP_PORT
#define BASE_TPNCP_DATA_LEN 256
-#define MAX_TPNCP_DATA_FIELD_NAME_LEN BASE_TPNCP_DATA_LEN
#define MAX_TPNCP_DAT_FILE_PATH_LEN BASE_TPNCP_DATA_LEN
#define MAX_TPNCP_DB_ENTRY_LEN BASE_TPNCP_DATA_LEN
#define MAX_TPNCP_HEADER_LEN BASE_TPNCP_DATA_LEN
@@ -68,7 +67,7 @@
/* The linked list for storing information about specific data fields. */
typedef struct tpncp_data_field_info
{
- gchar tpncp_data_field_name[MAX_TPNCP_DATA_FIELD_NAME_LEN];
+ gchar *tpncp_data_field_name;
gint tpncp_data_field_descr;
gint tpncp_data_field_sign;
gint tpncp_data_field_size;
@@ -640,7 +639,7 @@ static gint init_tpncp_data_fields_info(tpncp_data_field_info *data_fields_info,
}
current_tpncp_data_field_info->tpncp_data_field_descr = -1;
hf_entr.p_id = &current_tpncp_data_field_info->tpncp_data_field_descr;
- g_strlcpy(current_tpncp_data_field_info->tpncp_data_field_name, tpncp_data_field_name, MAX_TPNCP_DATA_FIELD_NAME_LEN);
+ current_tpncp_data_field_info->tpncp_data_field_name = g_strdup(tpncp_data_field_name);
hf_entr.hfinfo.name = current_tpncp_data_field_info->tpncp_data_field_name;
hf_entr.hfinfo.abbrev = current_tpncp_data_field_info->tpncp_data_field_name;
switch (tpncp_data_field_size) {