summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--epan/dissectors/packet-tcp.c19
-rw-r--r--epan/ftypes/ftypes.c1
-rw-r--r--epan/proto.c1
-rw-r--r--epan/slab.h75
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 */