]>
Commit | Line | Data |
---|---|---|
ef368dac NC |
1 | /* search-list.c |
2 | ||
0eee5820 | 3 | Copyright 2000, 2001 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 | |
9 | the Free Software Foundation; either version 2 of the License, or | |
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 | |
19 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | |
20 | 02111-1307, USA. */ | |
21 | \f | |
252b5132 RH |
22 | #include "libiberty.h" |
23 | #include "gprof.h" | |
24 | #include "search_list.h" | |
25 | ||
26 | ||
27 | void | |
28 | DEFUN (search_list_append, (list, paths), | |
29 | Search_List * list AND const char *paths) | |
30 | { | |
31 | Search_List_Elem *new_el; | |
32 | const char *beg, *colon; | |
33 | int len; | |
34 | ||
35 | colon = paths - 1; | |
36 | do | |
37 | { | |
38 | beg = colon + 1; | |
5af11cab | 39 | colon = strchr (beg, PATH_SEP_CHAR); |
0eee5820 | 40 | |
252b5132 | 41 | if (colon) |
ef368dac | 42 | len = colon - beg; |
252b5132 | 43 | else |
ef368dac NC |
44 | len = strlen (beg); |
45 | ||
252b5132 RH |
46 | new_el = (Search_List_Elem *) xmalloc (sizeof (*new_el) + len); |
47 | memcpy (new_el->path, beg, len); | |
48 | new_el->path[len] = '\0'; | |
49 | ||
ef368dac | 50 | /* Append new path at end of list. */ |
252b5132 | 51 | new_el->next = 0; |
0eee5820 | 52 | |
252b5132 | 53 | if (list->tail) |
ef368dac | 54 | list->tail->next = new_el; |
252b5132 | 55 | else |
ef368dac NC |
56 | list->head = new_el; |
57 | ||
252b5132 RH |
58 | list->tail = new_el; |
59 | } | |
60 | while (colon); | |
61 | } |