]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gprof/search_list.c
[PATCH] fix windmc typedef bug
[thirdparty/binutils-gdb.git] / gprof / search_list.c
CommitLineData
ef368dac
NC
1/* search-list.c
2
b3adc24a 3 Copyright (C) 2000-2020 Free Software Foundation, Inc.
ef368dac
NC
4
5 This file is part of GNU Binutils.
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
651dbc76 9 the Free Software Foundation; either version 3 of the License, or
ef368dac
NC
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
44eb1801
NC
19 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
20 02110-1301, USA. */
ef368dac 21\f
252b5132 22#include "gprof.h"
ecba005f 23#include "libiberty.h"
252b5132
RH
24#include "search_list.h"
25
26
27void
3e8f6abf 28search_list_append (Search_List *list, const char *paths)
252b5132
RH
29{
30 Search_List_Elem *new_el;
31 const char *beg, *colon;
1355568a 32 unsigned int len;
252b5132
RH
33
34 colon = paths - 1;
35 do
36 {
37 beg = colon + 1;
5af11cab 38 colon = strchr (beg, PATH_SEP_CHAR);
0eee5820 39
252b5132 40 if (colon)
ef368dac 41 len = colon - beg;
252b5132 42 else
ef368dac
NC
43 len = strlen (beg);
44
252b5132
RH
45 new_el = (Search_List_Elem *) xmalloc (sizeof (*new_el) + len);
46 memcpy (new_el->path, beg, len);
47 new_el->path[len] = '\0';
48
ef368dac 49 /* Append new path at end of list. */
252b5132 50 new_el->next = 0;
0eee5820 51
252b5132 52 if (list->tail)
ef368dac 53 list->tail->next = new_el;
252b5132 54 else
ef368dac
NC
55 list->head = new_el;
56
252b5132
RH
57 list->tail = new_el;
58 }
59 while (colon);
60}