aboutsummaryrefslogtreecommitdiffstats
path: root/gtk/range_utils.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2004-10-16 23:32:24 +0000
committerGuy Harris <guy@alum.mit.edu>2004-10-16 23:32:24 +0000
commit727ad67453a879a58ab46adeee058d2acbbe5c13 (patch)
tree9fe0f60bac0ddcee9a3c48d3ff0ca8003b3ca707 /gtk/range_utils.c
parentde1bcd5d88f4ecd85df770ef5a7a0357b539ee4f (diff)
downloadwireshark-727ad67453a879a58ab46adeee058d2acbbe5c13.tar.gz
wireshark-727ad67453a879a58ab46adeee058d2acbbe5c13.tar.bz2
wireshark-727ad67453a879a58ab46adeee058d2acbbe5c13.zip
Remove the fixed maximum number of subranges in a range_t; dynamically
allocate them to be large enough. Add checks that the numbers in the range fit in a guint32. Check the validity of a range before saving or printing, and report errors in an alert box. Clean up white space. svn path=/trunk/; revision=12320
Diffstat (limited to 'gtk/range_utils.c')
-rw-r--r--gtk/range_utils.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/gtk/range_utils.c b/gtk/range_utils.c
index 824635d000..b35894275c 100644
--- a/gtk/range_utils.c
+++ b/gtk/range_utils.c
@@ -36,6 +36,7 @@
#include "ui_util.h"
#include "dlg_utils.h"
#include "compat_macros.h"
+#include "simple_dialog.h"
#define RANGE_VALUES_KEY "range_values"
@@ -58,7 +59,29 @@
#define RANGE_SELECT_USER_D_KEY "range_select_user_range_d_lb"
#define RANGE_SELECT_USER_ENTRY_KEY "range_select_user_range_entry"
+gboolean
+range_check_validity(packet_range_t *range)
+{
+ switch (packet_range_check(range)) {
+
+ case CVT_NO_ERROR:
+ return TRUE;
+
+ case CVT_SYNTAX_ERROR:
+ simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
+ "The specified range of packets isn't a valid range.");
+ return FALSE;
+
+ case CVT_NUMBER_TOO_BIG:
+ simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
+ "The specified range of packets has a packet number that's too large.");
+ return FALSE;
+ default:
+ g_assert_not_reached();
+ return FALSE;
+ }
+}
/* update all "dynamic" things */
void