diff options
author | Guy Harris <guy@alum.mit.edu> | 2004-10-16 23:32:24 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2004-10-16 23:32:24 +0000 |
commit | 727ad67453a879a58ab46adeee058d2acbbe5c13 (patch) | |
tree | 9fe0f60bac0ddcee9a3c48d3ff0ca8003b3ca707 /gtk/range_utils.c | |
parent | de1bcd5d88f4ecd85df770ef5a7a0357b539ee4f (diff) | |
download | wireshark-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.c | 23 |
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 |