aboutsummaryrefslogtreecommitdiffstats
path: root/epan/range.h
diff options
context:
space:
mode:
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2004-10-16 23:32:24 +0000
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2004-10-16 23:32:24 +0000
commitd8dddd111c92f7fb442e47b2ed724d66c0ab1861 (patch)
tree9fe0f60bac0ddcee9a3c48d3ff0ca8003b3ca707 /epan/range.h
parent82bc8765ec59041b69ec9f9013747b399e0c7d9c (diff)
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. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@12320 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/range.h')
-rw-r--r--epan/range.h15
1 files changed, 7 insertions, 8 deletions
diff --git a/epan/range.h b/epan/range.h
index 8f6f43f6ba..de88cfb77a 100644
--- a/epan/range.h
+++ b/epan/range.h
@@ -32,9 +32,6 @@
#include <epan/frame_data.h>
-/* Range parser variables */
-#define MaxRange 30
-
#define MAXRANGESTRING 255
typedef struct range_admin_tag {
@@ -44,8 +41,8 @@ typedef struct range_admin_tag {
typedef struct range {
/* user specified range(s) */
- guint nranges; /* number of entries in ranges (0 based) */
- range_admin_t ranges[MaxRange];
+ guint nranges; /* number of entries in ranges */
+ range_admin_t ranges[1]; /* variable-length array */
} range_t;
/*
@@ -54,12 +51,12 @@ typedef struct range {
typedef enum {
CVT_NO_ERROR,
CVT_SYNTAX_ERROR,
- CVT_TOO_MANY_SUBRANGES
+ CVT_NUMBER_TOO_BIG
} convert_ret_t;
-extern void range_init(range_t *range);
+extern range_t *range_empty(void);
-extern convert_ret_t range_convert_str(range_t *range, const gchar *es,
+extern convert_ret_t range_convert_str(range_t **range, const gchar *es,
guint32 max_value);
extern gboolean value_is_in_range(range_t *range, guint32 val);
@@ -70,4 +67,6 @@ extern void range_foreach(range_t *range, void (*callback)(guint32 val));
extern char *range_convert_range(range_t *range, char *string);
+extern range_t *range_copy(range_t *src);
+
#endif /* __RANGE_H__ */