From c8c834c79e0775be9e4d7a6f2a1e973c128b86e7 Mon Sep 17 00:00:00 2001 From: Yamagi Burmeister Date: Fri, 10 Apr 2009 15:44:49 +0000 Subject: [PATCH] --- src/z_debug.c | 6 -- src/z_debug.h | 12 --- src/z_list.c | 216 -------------------------------------------------- src/z_list.h | 52 ------------ 4 files changed, 286 deletions(-) delete mode 100644 src/z_debug.c delete mode 100644 src/z_debug.h delete mode 100644 src/z_list.c delete mode 100644 src/z_list.h diff --git a/src/z_debug.c b/src/z_debug.c deleted file mode 100644 index 134b73b..0000000 --- a/src/z_debug.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "g_local.h" - -void assertMsg(const char *msg, const char *file, int line) -{ - gi.dprintf("DEBUG[%s:%i] %s\n", file, line, msg); -} diff --git a/src/z_debug.h b/src/z_debug.h deleted file mode 100644 index 6cca385..0000000 --- a/src/z_debug.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef __Z_DEBUG_H -#define __Z_DEBUG_H - -#if defined(_DEBUG) && defined(_Z_TESTMODE) -void assertMsg(const char *msg, const char *file, int line); - -#define DEBUG(expr, msg) ((!(expr)) ? assertMsg(msg, __FILE__, __LINE__),1 : 0) -#else -#define DEBUG(expr, msg) 0 -#endif - -#endif diff --git a/src/z_list.c b/src/z_list.c deleted file mode 100644 index 64c732c..0000000 --- a/src/z_list.c +++ /dev/null @@ -1,216 +0,0 @@ -#include "g_local.h" -#include "z_list.h" -#include - -typedef struct listNode_s -{ - void *data; - struct listNode_s *next; - struct listNode_s *prev; -} listNode_t; - -void initializeList(list_t *list) -{ - // initialize the list to be empty - memset(list, 0, sizeof(list_t)); - list->head = NULL; - list->tail = NULL; - list->numNodes = 0; - list->curNode = 0; - list->currentNode = NULL; -} - -void emptyList(list_t *list) -{ - while (list->head != NULL) - { - // get the node - listNode_t *node = list->head; - list->head = node->next; - - // free it up - Z_FREE(node); - } - initializeList(list); -} - -int listLength(list_t const *list) -{ - return list->numNodes; -} - -void addHead(list_t *list, void *data) -{ - // add a node to the head of the list - listNode_t *node = (listNode_t*)Z_MALLOC(sizeof(listNode_t)); - - // fill it and put it in the front of the list - node->data = data; - node->next = list->head; - node->prev = NULL; - list->head = node; - list->numNodes++; - - if (list->numNodes == 1) - list->tail = list->head; - - // reset the currentNode - list->currentNode = list->head; - list->curNode = 0; -} - -void addTail(list_t *list, void *data) -{ - // add a node to the head of the list - listNode_t *node = (listNode_t*)Z_MALLOC(sizeof(listNode_t)); - - // fill it and put it in the front of the list - node->data = data; - node->next = NULL; - node->prev = list->tail; - if (list->tail != NULL) - list->tail->next = node; - list->tail = node; - list->numNodes++; - - if (list->numNodes == 1) - list->head = list->tail; - - // reset the currentNode - list->currentNode = list->head; - list->curNode = 0; -} - -void *getItem(list_t *list, int num) -{ - listNode_t *node = NULL; - int indexNum = 0; - int diffH = 0; - int diffT = 0; - int diffC = 0; - - // safety check - if (num >= list->numNodes || num < 0) - return NULL; - - // which is closer, head, tail or currentNode? - diffH = num; - diffT = list->numNodes - num - 1; - diffC = abs(list->curNode - num); - - if (diffH < diffT && - diffH < diffC) - { - node = list->head; - indexNum = 0; - } - else if (diffT < diffC) - { - node = list->tail; - indexNum = list->numNodes - 1; - } - else - { - node = list->currentNode; - indexNum = list->curNode; - } - - // go thru the list searching - while (indexNum != num) - { - if (indexNum < num) - { - indexNum++; - node = node->next; - } - else if (indexNum > num) - { - indexNum--; - node = node->prev; - } - } - - // update the current node - list->currentNode = node; - list->curNode = indexNum; - - // return the current node - return list->currentNode->data; -} - -void removeItem(list_t *list, int num) -{ - // find the item - listNode_t *node = NULL; - void *item = getItem(list, num); - - if (item == NULL) - return; - - // ok, currentNode points to the node - // remove it - node = list->currentNode; - - // previous? - if (node->prev == NULL) // front of the list - list->head = node->next; - else - node->prev->next = node->next; - - if (node->next == NULL) // tail of the list - list->tail = node->prev; - else - node->next->prev = node->prev; - - // delete the node - Z_FREE(node); - list->numNodes--; - - // reset the current node - list->currentNode = list->head; - list->curNode = 0; -} - -void copyList(list_t *src, list_t *dest) -{ - // get and put the data - int i = 0; - - // empty the destination - emptyList(dest); - for (i = 0; i < src->numNodes; i++) - { - void *item = getItem(src, i); - addTail(dest, item); - } -} - -void stealList(list_t *src, list_t *dest) -{ - // copy over the pointer info - dest->head = src->head; - dest->tail = src->tail; - dest->numNodes = src->numNodes; - dest->curNode = src->curNode; - dest->currentNode = src->currentNode; - - // init src - initializeList(src); -} - -int findIndex(list_t *list, void *data) -{ - listNode_t *node = list->head; - int i = 0; - while (node != NULL) - { - if (node->data == data) - return i; - - i++; - node = node->next; - } - - // failure - return -1; -} diff --git a/src/z_list.h b/src/z_list.h deleted file mode 100644 index e50cea0..0000000 --- a/src/z_list.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef __Z_LIST_H -#define __Z_LIST_H - -/* - Linked List structure - - All items contained in this list but be pointers. The list does not claim - "ownership" of the data, so it is not the responsibility of the list to - free the memory allocated by the data. It will, however, free the memory taken - by the nodes -*/ - -// dummy for internals -struct listNode_s; - -typedef struct list_s -{ - // start of the list - struct listNode_s *head; - struct listNode_s *tail; - - // # of nodes in the list - int numNodes; - - // current node - int curNode; - struct listNode_s *currentNode; -} list_t; - -// init/cleanup -void initializeList(list_t *list); -void emptyList(list_t *list); - -// get information about the list -int listLength(list_t const *list); - -// add items to the list -void addHead(list_t *list, void *data); -void addTail(list_t *list, void *data); - -// remove items from the list -void removeItem(list_t *list, int num); - -// get items from the list (0 based) -void *getItem(list_t *list, int num); -int findIndex(list_t *list, void *data); - -// data transfer -void copyList(list_t *src, list_t *dest); -void stealList(list_t *src, list_t *dest); - -#endif