#include "defs.h"#include "erglob.h"#include "tracing.h"#include "linklist.h"
Go to the source code of this file.
Classes | |
| struct | block_list_items |
Defines | |
| #define | NO_VARARGS_PROTOTYPES |
| #define | lnk_lst_malloc(x) ((MEM_PTR)malloc(x)) |
| #define | lnk_lst_free(x) free((MEM_PTR) (x)) |
| #define | BLK_block(blk) ((blk)->block) |
| #define | BLK_next(blk) ((blk)->next) |
| #define | N_LIST_BLOCK (2048 - 5) |
| #define | M_BLOCK_SIZE ((sizeof(LST_ITM)*N_LIST_BLOCK)+sizeof(BLK_LST_ITMS)) |
| #define | item_alloc() |
| #define | item_free(itm) ((LST_next(itm)=list_items), (list_items=(itm))) |
Typedefs | |
| typedef struct block_list_items | BLK_LST_ITMS |
Functions | |
| static LST_ITM * | list_malloc (void) |
| static void | check_linked_list_free (void) |
| void | Free_All_List_Items (void) |
| INT32 | LST_Len (LNK_LST *lst) |
Variables | |
| char * | _ary_lst_bounds_msg = "ARY LST index = %d, out of bounds: 0..%d" |
| LST_ITM * | _lst_itm |
| static BLK_LST_ITMS * | block_item_hdr = NULL |
| static LST_ITM * | list_items = NULL |
| static LST_ITM * | _list_tmp |
| #define BLK_block | ( | blk | ) | ((blk)->block) |
Definition at line 66 of file linklist.c.
| #define BLK_next | ( | blk | ) | ((blk)->next) |
Definition at line 67 of file linklist.c.
Referenced by check_linked_list_free(), and Free_All_List_Items().
| #define item_alloc | ( | ) |
( list_items ? \ ( (_list_tmp = list_items), \ (list_items = LST_next(list_items)), \ (LST_next(_list_tmp) = NULL), _list_tmp ) \ : list_malloc() )
Definition at line 111 of file linklist.c.
| #define item_free | ( | itm | ) | ((LST_next(itm)=list_items), (list_items=(itm))) |
Definition at line 131 of file linklist.c.
| #define lnk_lst_free | ( | x | ) | free((MEM_PTR) (x)) |
Definition at line 54 of file linklist.c.
Referenced by Free_All_List_Items().
| #define lnk_lst_malloc | ( | x | ) | ((MEM_PTR)malloc(x)) |
Definition at line 53 of file linklist.c.
| #define M_BLOCK_SIZE ((sizeof(LST_ITM)*N_LIST_BLOCK)+sizeof(BLK_LST_ITMS)) |
Definition at line 90 of file linklist.c.
| #define N_LIST_BLOCK (2048 - 5) |
Definition at line 83 of file linklist.c.
Referenced by check_linked_list_free().
| #define NO_VARARGS_PROTOTYPES |
Definition at line 41 of file linklist.c.
| typedef struct block_list_items BLK_LST_ITMS |
| static void check_linked_list_free | ( | void | ) | [static] |
Definition at line 219 of file linklist.c.
References BLK_next, DevWarn(), EC_Mem_Leak, ErrMsg(), LST_next, N_LIST_BLOCK, and NULL.
Referenced by Free_All_List_Items().

| void Free_All_List_Items | ( | void | ) |
Definition at line 256 of file linklist.c.
References BLK_next, check_linked_list_free(), lnk_lst_free, and NULL.

| static LST_ITM* list_malloc | ( | void | ) | [static] |
Definition at line 405 of file linklist.c.
| char* _ary_lst_bounds_msg = "ARY LST index = %d, out of bounds: 0..%d" |
Definition at line 45 of file linklist.c.
Definition at line 94 of file linklist.c.
Definition at line 69 of file linklist.c.
BLK_LST_ITMS* block_item_hdr = NULL [static] |
Definition at line 71 of file linklist.c.
LST_ITM* list_items = NULL [static] |
Definition at line 93 of file linklist.c.
1.6.1