diff options
author | Guy Harris <guy@alum.mit.edu> | 2003-12-02 21:15:49 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2003-12-02 21:15:49 +0000 |
commit | bd9f96738c50f2d8eb5f65cb1eeef88abaa6ba58 (patch) | |
tree | bba10b00745ee2278670863e1574d7760e2fec79 /epan/ftypes/ftypes.h | |
parent | 98c4d5d030c62c47200d56734e2cb7cd5fa5a20f (diff) |
From Didier Gautheron: put an "fvalue_t" structure into a "field_info"
structure, rather than separately allocating "fvalue_t"s and having the
"field_info" structure point to them - this appears to speed up protocol
tree construction a bit.
svn path=/trunk/; revision=9146
Diffstat (limited to 'epan/ftypes/ftypes.h')
-rw-r--r-- | epan/ftypes/ftypes.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/epan/ftypes/ftypes.h b/epan/ftypes/ftypes.h index 9adf60e84b..ab7052c904 100644 --- a/epan/ftypes/ftypes.h +++ b/epan/ftypes/ftypes.h @@ -1,7 +1,7 @@ /* ftypes.h * Definitions for field types * - * $Id: ftypes.h,v 1.22 2003/12/02 09:47:23 sahlberg Exp $ + * $Id: ftypes.h,v 1.23 2003/12/02 21:15:48 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -208,16 +208,24 @@ struct _ftype_t { fvalue_t* fvalue_new(ftenum_t ftype); +void +fvalue_init(fvalue_t *fv, ftenum_t ftype); + /* Free all memory used by an fvalue_t */ extern fvalue_t *fvalue_free_list; -#define FVALUE_FREE(fv) \ +#define FVALUE_CLEANUP(fv) \ { \ register FvalueFreeFunc free_value; \ - free_value = fv->ptr_u.ftype->free_value; \ + free_value = (fv)->ptr_u.ftype->free_value; \ if (free_value) { \ - free_value(fv); \ + free_value((fv)); \ } \ + } + +#define FVALUE_FREE(fv) \ + { \ + FVALUE_CLEANUP(fv) \ SLAB_FREE(fv, fv->ptr_u.next, fvalue_free_list);\ } |