aboutsummaryrefslogtreecommitdiffstats
path: root/epan/range.c
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2009-04-08 16:50:20 +0000
committerGerald Combs <gerald@wireshark.org>2009-04-08 16:50:20 +0000
commitf0eeb0bdf1a1a5a88519352e3a0370a27f213155 (patch)
tree15325b933e4eb752c5cb0ad428a0be5cda8f1776 /epan/range.c
parent642e4a3e36f3334db0b7f5317941f91dde8645f4 (diff)
More size_t fixes. Use a string buffer in range.c.
svn path=/trunk/; revision=27999
Diffstat (limited to 'epan/range.c')
-rw-r--r--epan/range.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/epan/range.c b/epan/range.c
index 96745f3cb1..81d715b343 100644
--- a/epan/range.c
+++ b/epan/range.c
@@ -295,21 +295,20 @@ range_convert_range(range_t *range)
{
guint32 i;
gboolean prepend_comma = FALSE;
- char *string, *str;
+ emem_strbuf_t *strbuf;
- string=ep_alloc(128);
- string[0]=0;
- str=string;
+ strbuf=ep_strbuf_new("");
for (i=0; i < range->nranges; i++) {
- if (range->ranges[i].low == range->ranges[i].high)
- str += g_snprintf(str, 128-(str-string), "%s%u", prepend_comma?",":"", range->ranges[i].low);
- else
- str += g_snprintf(str, 128-(str-string), "%s%u-%u", prepend_comma?",":"", range->ranges[i].low, range->ranges[i].high);
+ if (range->ranges[i].low == range->ranges[i].high) {
+ ep_strbuf_append_printf(strbuf, "%s%u", prepend_comma?",":"", range->ranges[i].low);
+ } else {
+ ep_strbuf_append_printf(strbuf, "%s%u-%u", prepend_comma?",":"", range->ranges[i].low, range->ranges[i].high);
+ }
prepend_comma = TRUE;
}
- return string;
+ return strbuf->str;
}
/* Create a copy of a range. */