sub_list.c 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /*
  2. * $Id$
  3. *
  4. * Copyright (C) 2001-2003 FhG Fokus
  5. *
  6. * This file is part of Kamailio, a free SIP server.
  7. *
  8. * Kamailio is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License as published by
  10. * the Free Software Foundation; either version 2 of the License, or
  11. * (at your option) any later version
  12. *
  13. * Kamailio is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU General Public License for more details.
  17. *
  18. * You should have received a copy of the GNU General Public License
  19. * along with this program; if not, write to the Free Software
  20. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  21. */
  22. /* History:
  23. * --------
  24. * 2003-03-19 all mallocs/frees replaced w/ pkg_malloc/pkg_free (andrei)
  25. */
  26. #include <stdlib.h>
  27. #include <string.h>
  28. #include "../../mem/mem.h"
  29. #include "sub_list.h"
  30. struct node* append_to_list(struct node *head, char *offset, char *name)
  31. {
  32. struct node *new_node;
  33. new_node = pkg_malloc(sizeof(struct node));
  34. if (!new_node)
  35. return 0;
  36. new_node->offset = offset;
  37. new_node->name = name;
  38. new_node->next = head;
  39. return new_node;
  40. }
  41. char* search_the_list(struct node *head, char *name)
  42. {
  43. struct node *n;
  44. n = head;
  45. while (n) {
  46. if (strcasecmp(n->name,name)==0)
  47. return n->offset;
  48. n = n->next;
  49. }
  50. return 0;
  51. }
  52. void delete_list(struct node* head)
  53. {
  54. struct node *n;
  55. ;
  56. while (head) {
  57. n=head->next;
  58. pkg_free(head);
  59. head = n;
  60. }
  61. }