aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2005-09-01 19:05:00 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2005-09-01 19:05:00 +0000
commitb177f170eb48b67aa16b1e469f9a58f7209eaf28 (patch)
tree9a10d3de6f39eec69a8e937809be1e8acab92fd9
parent0ab779b04cc07ba85c112a2158d6fd2d7e3dc039 (diff)
convert to g_snprintf()
also make range_convert_range() return an emem allocated string svn path=/trunk/; revision=15660
-rw-r--r--epan/prefs.c1
-rw-r--r--epan/range.c20
-rw-r--r--gtk/prefs_dlg.c1
-rw-r--r--plugins/asn1/packet-asn1.c3
4 files changed, 8 insertions, 17 deletions
diff --git a/epan/prefs.c b/epan/prefs.c
index d97288bb45..71ee3d0410 100644
--- a/epan/prefs.c
+++ b/epan/prefs.c
@@ -2186,7 +2186,6 @@ write_pref(gpointer data, gpointer user_data)
fprintf(arg->pf, "# A string denoting an positive integer range (e.g., \"1-20,30-40\").\n");
fprintf(arg->pf, "%s.%s: %s\n", arg->module->name, pref->name,
range_string);
- g_free(range_string);
break;
}
diff --git a/epan/range.c b/epan/range.c
index 0c09626061..52af5540af 100644
--- a/epan/range.c
+++ b/epan/range.c
@@ -38,6 +38,7 @@
#include <epan/frame_data.h>
#include <epan/range.h>
+#include <epan/emem.h>
#include <stdio.h>
/*
@@ -294,31 +295,26 @@ range_foreach(range_t *range, void (*callback)(guint32 val))
}
}
-/* This function converts a range_t to a (g_malloc()-allocated) string. */
+/* This function converts a range_t to a (ep_alloc()-allocated) string. */
char *
range_convert_range(range_t *range)
{
- GString *str;
guint32 i;
gboolean prepend_comma = FALSE;
- char *string;
+ char *string, *str;
- str = g_string_new("");
+ string=ep_alloc(128);
+ string[0]=0;
+ str=string;
for (i=0; i < range->nranges; i++) {
- if (prepend_comma)
- g_string_append_c(str, ',');
-
if (range->ranges[i].low == range->ranges[i].high)
- g_string_sprintfa(str, "%u", range->ranges[i].low);
+ str += g_snprintf(str, 128-(str-string), "%s%u", prepend_comma?",":"", range->ranges[i].low);
else
- g_string_sprintfa(str, "%u-%u", range->ranges[i].low,
- range->ranges[i].high);
+ str += g_snprintf(str, 128-(str-string), "%s%u-%u", prepend_comma?",":"", range->ranges[i].low, range->ranges[i].high);
prepend_comma = TRUE;
}
- string = str->str;
- g_string_free(str, FALSE);
return string;
}
diff --git a/gtk/prefs_dlg.c b/gtk/prefs_dlg.c
index 09b659b2b3..ccec6d60d8 100644
--- a/gtk/prefs_dlg.c
+++ b/gtk/prefs_dlg.c
@@ -213,7 +213,6 @@ pref_show(pref_t *pref, gpointer user_data)
pref->control = create_preference_entry(main_tb, pref->ordinal,
label_string, pref->description,
range_string);
- g_free(range_string);
break;
}
diff --git a/plugins/asn1/packet-asn1.c b/plugins/asn1/packet-asn1.c
index 1e965e00cb..090e62e654 100644
--- a/plugins/asn1/packet-asn1.c
+++ b/plugins/asn1/packet-asn1.c
@@ -5002,9 +5002,6 @@ proto_reg_handoff_asn1(void) {
"asn1file=%s, pduname=%s, first_offset=%d, debug=%d, msg_win=%d, verbose=%d",
tcp_ports_asn1_string, udp_ports_asn1_string, sctp_ports_asn1_string, asn1_desegment,
asn1_filename, asn1_pduname, first_pdu_offset, asn1_debug, asn1_message_win, asn1_verbose);
- g_free(tcp_ports_asn1_string);
- g_free(udp_ports_asn1_string);
- g_free(sctp_ports_asn1_string);
}
#endif /* JUST_ONE_PORT */