diff options
author | sfisher <sfisher@f5534014-38df-0310-8fa8-9805f1628bb7> | 2008-03-13 04:49:37 +0000 |
---|---|---|
committer | sfisher <sfisher@f5534014-38df-0310-8fa8-9805f1628bb7> | 2008-03-13 04:49:37 +0000 |
commit | 5d0ff6870738e4763f80a833b7fb05eb208fba24 (patch) | |
tree | 2261f27772f83621a58a54de5a906a10b0ca78da /epan/dissectors/packet-tpncp.c | |
parent | 94936854696783025b15c9934f55780a60b9e5a6 (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.c | 5 |
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 = ¤t_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) { |