| /* ----------------------------------------------------------------------- * |
| * |
| * Copyright 2013 Intel Corporation; author: Matt Fleming |
| * |
| * 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, Inc., 51 Franklin St, Fifth Floor, |
| * Boston MA 02110-1301, USA; either version 2 of the License, or |
| * (at your option) any later version; incorporated herein by reference. |
| * |
| * ----------------------------------------------------------------------- */ |
| |
| #include <klibc/compiler.h> |
| #include <linux/list.h> |
| #include <fs.h> |
| #include <string.h> |
| |
| __export LIST_HEAD(PATH); |
| |
| __export struct path_entry *path_add(const char *str) |
| { |
| struct path_entry *entry; |
| |
| if (!strlen(str)) |
| return NULL; |
| |
| entry = malloc(sizeof(*entry)); |
| if (!entry) |
| return NULL; |
| |
| entry->str = strdup(str); |
| if (!entry->str) |
| goto bail; |
| |
| list_add(&entry->list, &PATH); |
| |
| return entry; |
| |
| bail: |
| free(entry); |
| return NULL; |
| } |