X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gprof%2Fsearch_list.c;h=bfcd3871b29f70bca32910a49b134a746b0447ce;hb=bd756351a6d3dcff9915c88c26dc0a5811907f90;hp=565b83bca5740cff10eb857eb08956960bdbd120;hpb=5489fcc3d9dbb1f529dddb19b615e23d8ed59dc7;p=deliverable%2Fbinutils-gdb.git diff --git a/gprof/search_list.c b/gprof/search_list.c index 565b83bca5..bfcd3871b2 100644 --- a/gprof/search_list.c +++ b/gprof/search_list.c @@ -1,38 +1,60 @@ -#include "libiberty.h" +/* search-list.c + + Copyright (C) 2000-2019 Free Software Foundation, Inc. + + This file is part of GNU Binutils. + + 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 3 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., 51 Franklin Street - Fifth Floor, Boston, MA + 02110-1301, USA. */ + #include "gprof.h" +#include "libiberty.h" #include "search_list.h" void -DEFUN(search_list_append, (list, paths), - Search_List *list AND const char *paths) +search_list_append (Search_List *list, 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); - } /* if */ - 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; - } /* if */ - list->tail = new_el; - } while (colon); -} /* search_list_append */ - - /*** end of search_list.c ***/ + Search_List_Elem *new_el; + const char *beg, *colon; + unsigned int len; + + colon = paths - 1; + do + { + beg = colon + 1; + colon = strchr (beg, PATH_SEP_CHAR); + + 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); +}