diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2014-12-19 01:42:49 -0600 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2014-12-19 01:49:30 -0600 |
commit | 949d8663f2f12c986ef2983b7b307f5ecddf060e (patch) | |
tree | 258f4f1f62c469b54e0f342fcf36847333c68bda /adk/config/util.c | |
parent | 7c89a2bc80d4d3c33a5345fd673cd2fe424c1fae (diff) |
use the new concept of appliances
- Sync with Kernel upstream Kconfig
- use new feature visible
- add a patch for select on choices
https://lkml.org/lkml/2011/2/17/379
- rename ADK_LINUX -> ADK_TARGET_ARCH
- remove package collection feature
- add appliance feature to define a appliance
more complete
Diffstat (limited to 'adk/config/util.c')
-rw-r--r-- | adk/config/util.c | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/adk/config/util.c b/adk/config/util.c index b6b2a46af..94f9c83e3 100644 --- a/adk/config/util.c +++ b/adk/config/util.c @@ -5,6 +5,8 @@ * Released under the terms of the GNU GPL v2.0. */ +#include <stdarg.h> +#include <stdlib.h> #include <string.h> #include "lkc.h" @@ -12,15 +14,18 @@ struct file *file_lookup(const char *name) { struct file *file; + const char *file_name = sym_expand_string_value(name); for (file = file_list; file; file = file->next) { - if (!strcmp(name, file->name)) + if (!strcmp(name, file->name)) { + free((void *)file_name); return file; + } } - file = malloc(sizeof(*file)); + file = xmalloc(sizeof(*file)); memset(file, 0, sizeof(*file)); - file->name = strdup(name); + file->name = file_name; file->next = file_list; file_list = file; return file; @@ -72,12 +77,13 @@ int file_write_dep(const char *name) } -/* Allocate initial growable sting */ +/* Allocate initial growable string */ struct gstr str_new(void) { struct gstr gs; - gs.s = malloc(sizeof(char) * 64); + gs.s = xmalloc(sizeof(char) * 64); gs.len = 64; + gs.max_width = 0; strcpy(gs.s, "\0"); return gs; } @@ -88,6 +94,7 @@ struct gstr str_assign(const char *s) struct gstr gs; gs.s = strdup(s); gs.len = strlen(s) + 1; + gs.max_width = 0; return gs; } @@ -131,3 +138,20 @@ const char *str_get(struct gstr *gs) return gs->s; } +void *xmalloc(size_t size) +{ + void *p = malloc(size); + if (p) + return p; + fprintf(stderr, "Out of memory.\n"); + exit(1); +} + +void *xcalloc(size_t nmemb, size_t size) +{ + void *p = calloc(nmemb, size); + if (p) + return p; + fprintf(stderr, "Out of memory.\n"); + exit(1); +} |