diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/glosstex/list.c |
Initial commit
Diffstat (limited to 'support/glosstex/list.c')
-rw-r--r-- | support/glosstex/list.c | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/support/glosstex/list.c b/support/glosstex/list.c new file mode 100644 index 0000000000..7576653c52 --- /dev/null +++ b/support/glosstex/list.c @@ -0,0 +1,81 @@ +/* -*- c -*- */ + +/* + GlossTeX, a tool for the automatic preparation of glossaries. + Copyright (C) 1997 Volkan Yavuz + + 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., 675 Mass Ave, Cambridge, MA 02139, USA. + + Volkan Yavuz, yavuzv@rumms.uni-mannheim.de + */ + +/* $Id: list.c,v 1.12 1997/06/02 17:58:16 yavuzv Exp $ */ + +#include <assert.h> +#include <stdlib.h> +#include "list.h" + +void * +list_add (s_list * list, void *ptr) +{ + s_node *new = 0; + + new = (s_node *) malloc (sizeof (s_node)); + assert (new != 0); + + if (list->root == 0) { + list->root = new; + list->top = new; /* LINT: top == 0 */ + list->top->ptr = ptr; + list->top->next = 0; + } else { + list->top->next = new; /* list->top->next == 0 */ + list->top = new; + list->top->ptr = ptr; + list->top->next = 0; + } + + return new; +} + + +/* FIXME: finish this one day */ +/* void */ +/* list_delete(s_list* list, char* string) */ +/* { */ +/* if (list->root == 0) */ +/* return; */ +/* else if (list->root == list->top) { */ +/* free(list->root->ptr); */ +/* free(list->root->ptr2); */ +/* free(list->root->ptr2); */ +/* free(list->root); */ +/* list->root = list->top = 0; */ +/* return; */ +/* } else { */ +/* s_node* prev = list->root; */ +/* s_node* p = list->root; */ +/* for (;;) { */ +/* if (strcmp((char*)p->ptr, string) == 0) { */ + +/* } else { */ + +/* } */ +/* } */ +/* return; */ +/* } */ +/* } */ + +/* FIXME: lint gives 23 code errors, most of which are not justified */ |