diff options
author | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2005-08-17 09:36:20 +0000 |
---|---|---|
committer | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2005-08-17 09:36:20 +0000 |
commit | d4267d127292b0ff2944d667d0b157c6f1c19e78 (patch) | |
tree | bc53492d18a339c583153f54957c4d9c736ae3be /epan | |
parent | 19e3bae4874ce0a094c2bec3882580643972b55f (diff) |
replace some more silly rotating buffers with ep_alloc() calls
svn path=/trunk/; revision=15386
Diffstat (limited to 'epan')
-rw-r--r-- | epan/addr_resolv.c | 45 | ||||
-rw-r--r-- | epan/atalk-utils.c | 12 | ||||
-rw-r--r-- | epan/osi-utils.c | 10 | ||||
-rw-r--r-- | epan/strutil.c | 8 |
4 files changed, 18 insertions, 57 deletions
diff --git a/epan/addr_resolv.c b/epan/addr_resolv.c index 7700ec80f4..bf86fcc365 100644 --- a/epan/addr_resolv.c +++ b/epan/addr_resolv.c @@ -118,6 +118,7 @@ #include "addr_resolv.h" #include "filesystem.h" #include <epan/prefs.h> +#include <epan/emem.h> #define ENAME_HOSTS "hosts" #define ENAME_ETHERS "ethers" @@ -1868,17 +1869,10 @@ extern void add_ipv6_name(struct e_in6_addr *addrp, const gchar *name) extern gchar *get_udp_port(guint port) { - static gchar str[3][MAXNAMELEN]; - static gchar *cur; + gchar *cur; if (!(g_resolv_flags & RESOLV_TRANSPORT)) { - if (cur == &str[0][0]) { - cur = &str[1][0]; - } else if (cur == &str[1][0]) { - cur = &str[2][0]; - } else { - cur = &str[0][0]; - } + cur=ep_alloc(MAXNAMELEN); g_snprintf(cur, MAXNAMELEN, "%u", port); return cur; } @@ -1889,17 +1883,10 @@ extern gchar *get_udp_port(guint port) extern gchar *get_tcp_port(guint port) { - static gchar str[3][MAXNAMELEN]; - static gchar *cur; + gchar *cur; if (!(g_resolv_flags & RESOLV_TRANSPORT)) { - if (cur == &str[0][0]) { - cur = &str[1][0]; - } else if (cur == &str[1][0]) { - cur = &str[2][0]; - } else { - cur = &str[0][0]; - } + cur=ep_alloc(MAXNAMELEN); g_snprintf(cur, MAXNAMELEN, "%u", port); return cur; } @@ -1910,17 +1897,10 @@ extern gchar *get_tcp_port(guint port) extern gchar *get_sctp_port(guint port) { - static gchar str[3][MAXNAMELEN]; - static gchar *cur; + gchar *cur; if (!(g_resolv_flags & RESOLV_TRANSPORT)) { - if (cur == &str[0][0]) { - cur = &str[1][0]; - } else if (cur == &str[1][0]) { - cur = &str[2][0]; - } else { - cur = &str[0][0]; - } + cur=ep_alloc(MAXNAMELEN); g_snprintf(cur, MAXNAMELEN, "%u", port); return cur; } @@ -2106,8 +2086,7 @@ extern guint32 get_ipxnet_addr(const gchar *name, gboolean *known) extern const gchar *get_manuf_name(const guint8 *addr) { - static gchar str[3][MAXMANUFLEN]; - static gchar *cur; + gchar *cur; hashmanuf_t *manufp; if ((g_resolv_flags & RESOLV_MAC) && !eth_resolution_initialized) { @@ -2116,13 +2095,7 @@ extern const gchar *get_manuf_name(const guint8 *addr) } if (!(g_resolv_flags & RESOLV_MAC) || ((manufp = manuf_name_lookup(addr)) == NULL)) { - if (cur == &str[0][0]) { - cur = &str[1][0]; - } else if (cur == &str[1][0]) { - cur = &str[2][0]; - } else { - cur = &str[0][0]; - } + cur=ep_alloc(MAXMANUFLEN); g_snprintf(cur, MAXMANUFLEN, "%02x:%02x:%02x", addr[0], addr[1], addr[2]); return cur; } diff --git a/epan/atalk-utils.c b/epan/atalk-utils.c index 2d79be137d..fb874bcff2 100644 --- a/epan/atalk-utils.c +++ b/epan/atalk-utils.c @@ -25,20 +25,14 @@ #endif #include "atalk-utils.h" +#include "emem.h" gchar * atalk_addr_to_str(const struct atalk_ddp_addr *addrp) { - static gchar str[3][14]; - static gchar *cur; + gchar *cur; - if (cur == &str[0][0]) { - cur = &str[1][0]; - } else if (cur == &str[1][0]) { - cur = &str[2][0]; - } else { - cur = &str[0][0]; - } + cur=ep_alloc(14); atalk_addr_to_str_buf(addrp, cur, 14); return cur; } diff --git a/epan/osi-utils.c b/epan/osi-utils.c index 1f1c3f339f..95283d6bd0 100644 --- a/epan/osi-utils.c +++ b/epan/osi-utils.c @@ -34,14 +34,14 @@ #include <glib.h> #include "osi-utils.h" +#include "emem.h" gchar * print_nsap_net( const guint8 *ad, int length ) { - static gchar str[MAX_NSAP_LEN * 3 + 50]; /* reserve space for nice layout */ gchar *cur; - cur = str; + cur = ep_alloc(MAX_NSAP_LEN * 3 + 50); print_nsap_net_buf( ad, length, cur ); return( cur ); } @@ -77,10 +77,9 @@ print_nsap_net_buf( const guint8 *ad, int length, gchar *buf ) gchar * print_system_id( const guint8 *ad, int length ) { - static gchar str[MAX_SYSTEMID_LEN * 3 + 5]; /* Don't trust exact matching */ gchar *cur; - cur = str; + cur = ep_alloc(MAX_SYSTEMID_LEN * 3 + 5); print_system_id_buf(ad, length, cur ); return( cur ); } @@ -132,10 +131,9 @@ print_system_id_buf( const guint8 *ad, int length, gchar *buf ) gchar * print_area(const guint8 *ad, int length) { - static gchar str[MAX_AREA_LEN * 3 + 20]; /* reserve space for nice layout */ gchar *cur; - cur = str; + cur = ep_alloc(MAX_AREA_LEN * 3 + 20); print_area_buf( ad, length, cur ); return cur; } diff --git a/epan/strutil.c b/epan/strutil.c index 2a122d44c6..bba8e19651 100644 --- a/epan/strutil.c +++ b/epan/strutil.c @@ -31,6 +31,7 @@ #include <ctype.h> #include <glib.h> #include "strutil.h" +#include "emem.h" /* @@ -274,18 +275,13 @@ bytes_to_str(const guint8 *bd, int bd_len) { */ gchar * bytes_to_str_punct(const guint8 *bd, int bd_len, gchar punct) { - static gchar str[N_BYTES_TO_STR_STRINGS][MAX_BYTE_STR_LEN+3+1]; - static int cur_idx; gchar *cur; gchar *p; int len; static const char hex[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; - cur_idx++; - if (cur_idx >= N_BYTES_TO_STR_STRINGS) - cur_idx = 0; - cur = &str[cur_idx][0]; + cur=ep_alloc(MAX_BYTE_STR_LEN+3+1); p = cur; len = MAX_BYTE_STR_LEN; while (bd_len > 0 && len > 0) { |