diff options
-rw-r--r-- | epan/dissectors/packet-tcp.c | 19 | ||||
-rw-r--r-- | epan/ftypes/ftypes.c | 1 | ||||
-rw-r--r-- | epan/proto.c | 1 | ||||
-rw-r--r-- | epan/slab.h | 75 |
4 files changed, 3 insertions, 93 deletions
diff --git a/epan/dissectors/packet-tcp.c b/epan/dissectors/packet-tcp.c index 206e1a762c..73fd2f4ef0 100644 --- a/epan/dissectors/packet-tcp.c +++ b/epan/dissectors/packet-tcp.c @@ -40,7 +40,6 @@ #include <epan/conversation.h> #include <epan/reassemble.h> #include <epan/tap.h> -#include <epan/slab.h> #include <epan/expert.h> #include "packet-tcp.h" @@ -441,16 +440,6 @@ static gboolean tcp_relative_seq = TRUE; static gboolean tcp_track_bytes_in_flight = TRUE; static gboolean tcp_calculate_ts = FALSE; -/* SLAB allocator for tcp_unacked structures - */ -SLAB_ITEM_TYPE_DEFINE(tcp_unacked_t) -static SLAB_FREE_LIST_DEFINE(tcp_unacked_t) -#define TCP_UNACKED_NEW(fi) \ - SLAB_ALLOC(fi, tcp_unacked_t) -#define TCP_UNACKED_FREE(fi) \ - SLAB_FREE(fi, tcp_unacked_t) - - #define TCP_A_RETRANSMISSION 0x0001 #define TCP_A_LOST_PACKET 0x0002 #define TCP_A_ACK_LOST_PACKET 0x0004 @@ -1129,7 +1118,7 @@ finished_checking_retransmission_type: nextseq = seq+seglen; if (seglen || flags&(TH_SYN|TH_FIN)) { /* add this new sequence number to the fwd list */ - TCP_UNACKED_NEW(ual); + ual = g_slice_new(tcp_unacked_t); ual->next=tcpd->fwd->segments; tcpd->fwd->segments=ual; ual->frame=pinfo->fd->num; @@ -1223,14 +1212,12 @@ finished_checking_retransmission_type: if (!prevual) { tcpd->rev->segments = tmpual; - TCP_UNACKED_FREE(ual); - ual = tmpual; } else{ prevual->next = tmpual; - TCP_UNACKED_FREE(ual); - ual = tmpual; } + g_slice_free(tcp_unacked_t, ual); + ual = tmpual; } /* how many bytes of data are there in flight after this frame diff --git a/epan/ftypes/ftypes.c b/epan/ftypes/ftypes.c index a8c7d127bf..a98889d437 100644 --- a/epan/ftypes/ftypes.c +++ b/epan/ftypes/ftypes.c @@ -24,7 +24,6 @@ #include <ftypes-int.h> #include <glib.h> -#include "../slab.h" #include "ftypes.h" diff --git a/epan/proto.c b/epan/proto.c index db1cffb1b9..cfa00872a0 100644 --- a/epan/proto.c +++ b/epan/proto.c @@ -38,7 +38,6 @@ #include "plugins.h" #include "proto.h" #include "epan_dissect.h" -#include "slab.h" #include "tvbuff.h" #include "emem.h" #include "charsets.h" diff --git a/epan/slab.h b/epan/slab.h deleted file mode 100644 index 2dc6f0e5ba..0000000000 --- a/epan/slab.h +++ /dev/null @@ -1,75 +0,0 @@ -/* slab.h - * Definitions for very simple slab handling - * - * $Id$ - * - * Wireshark - Network traffic analyzer - * By Gerald Combs <gerald@wireshark.org> - * Copyright 1998 Gerald Combs - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef __SLAB_H__ -#define __SLAB_H__ - -#define NITEMS_PER_SLAB 100 - -/* - * Generate declaration of a union type containing the specified type of - * slab-allocated item, and a pointer to an object of that type, for use - * in the macros below. - */ -#define SLAB_ITEM_TYPE_DEFINE(type) \ - union type ## slab_item { \ - type slab_item; \ - union type ## slab_item *next_free; \ - }; - -/* - * Generate definition of the free list pointer. - */ -#define SLAB_FREE_LIST_DEFINE(type) \ - union type ## slab_item *type ## _free_list = NULL; - -/* - * Generate an external declaration of the free list pointer. - */ -#define SLAB_FREE_LIST_DECLARE(type) \ - union type ## slab_item *type ## _free_list; - -/* we never free any memory we have allocated, when it is returned to us - we just store it in the free list until (hopefully) it gets used again -*/ -#define SLAB_ALLOC(item, type) \ - if(!type ## _free_list){ \ - int i; \ - union type ## slab_item *tmp; \ - tmp=g_malloc(NITEMS_PER_SLAB*sizeof(*tmp)); \ - for(i=0;i<NITEMS_PER_SLAB;i++){ \ - tmp[i].next_free = type ## _free_list; \ - type ## _free_list = &tmp[i]; \ - } \ - } \ - item = &(type ## _free_list->slab_item); \ - type ## _free_list = type ## _free_list->next_free; - -#define SLAB_FREE(item, type) \ -{ \ - ((union type ## slab_item *)(void *)item)->next_free = type ## _free_list; \ - type ## _free_list = (union type ## slab_item *)(void *)item; \ -} - -#endif /* slab.h */ |