/* -*- 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 #include #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 */