diff options
author | Richard Henderson <rth@redhat.com> | 1999-05-03 07:29:11 +0000 |
---|---|---|
committer | Richard Henderson <rth@redhat.com> | 1999-05-03 07:29:11 +0000 |
commit | 252b5132c753830d5fd56823373aed85f2a0db63 (patch) | |
tree | 1af963bfd8d3e55167b81def4207f175eaff3a56 /gprof/search_list.c | |
download | fsf-binutils-gdb-252b5132c753830d5fd56823373aed85f2a0db63.zip fsf-binutils-gdb-252b5132c753830d5fd56823373aed85f2a0db63.tar.gz fsf-binutils-gdb-252b5132c753830d5fd56823373aed85f2a0db63.tar.bz2 |
19990502 sourceware importbinu_ss_19990502
Diffstat (limited to 'gprof/search_list.c')
-rw-r--r-- | gprof/search_list.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/gprof/search_list.c b/gprof/search_list.c new file mode 100644 index 0000000..d475dbf --- /dev/null +++ b/gprof/search_list.c @@ -0,0 +1,44 @@ +#include "libiberty.h" +#include "gprof.h" +#include "search_list.h" + + +void +DEFUN (search_list_append, (list, paths), + Search_List * list AND const char *paths) +{ + Search_List_Elem *new_el; + const char *beg, *colon; + int len; + + colon = paths - 1; + do + { + beg = colon + 1; + colon = strchr (beg, ':'); + if (colon) + { + len = colon - beg; + } + else + { + len = strlen (beg); + } + new_el = (Search_List_Elem *) xmalloc (sizeof (*new_el) + len); + memcpy (new_el->path, beg, len); + new_el->path[len] = '\0'; + + /* append new path at end of list: */ + new_el->next = 0; + if (list->tail) + { + list->tail->next = new_el; + } + else + { + list->head = new_el; + } + list->tail = new_el; + } + while (colon); +} |