From: Felix Fietkau Date: Sat, 26 Jan 2008 11:15:12 +0000 (+0100) Subject: move uci_list_configs to file.c X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=a16f02de27a2c486e5abc5faa7bbed5871a31228;p=oweals%2Fuci.git move uci_list_configs to file.c --- diff --git a/file.c b/file.c index 470071e..6f43715 100644 --- a/file.c +++ b/file.c @@ -564,3 +564,46 @@ int uci_load(struct uci_context *ctx, const char *name, struct uci_package **pac return uci_import(ctx, file, name, package); } + +char **uci_list_configs(struct uci_context *ctx) +{ + char **configs; + glob_t globbuf; + int size, i; + char *buf; + + if (glob(UCI_CONFDIR "/*", GLOB_MARK, NULL, &globbuf) != 0) + return NULL; + + size = sizeof(char *) * (globbuf.gl_pathc + 1); + for(i = 0; i < globbuf.gl_pathc; i++) { + char *p; + + p = get_filename(globbuf.gl_pathv[i]); + if (!p) + continue; + + size += strlen(p) + 1; + } + + configs = malloc(size); + if (!configs) + return NULL; + + memset(configs, 0, size); + buf = (char *) &configs[globbuf.gl_pathc + 1]; + for(i = 0; i < globbuf.gl_pathc; i++) { + char *p; + + p = get_filename(globbuf.gl_pathv[i]); + if (!p) + continue; + + configs[i] = buf; + strcpy(buf, p); + buf += strlen(buf) + 1; + } + return configs; +} + + diff --git a/list.c b/list.c index 666989a..2142b71 100644 --- a/list.c +++ b/list.c @@ -226,45 +226,3 @@ static inline char *get_filename(char *path) return p; } -char **uci_list_configs(struct uci_context *ctx) -{ - char **configs; - glob_t globbuf; - int size, i; - char *buf; - - if (glob(UCI_CONFDIR "/*", GLOB_MARK, NULL, &globbuf) != 0) - return NULL; - - size = sizeof(char *) * (globbuf.gl_pathc + 1); - for(i = 0; i < globbuf.gl_pathc; i++) { - char *p; - - p = get_filename(globbuf.gl_pathv[i]); - if (!p) - continue; - - size += strlen(p) + 1; - } - - configs = malloc(size); - if (!configs) - return NULL; - - memset(configs, 0, size); - buf = (char *) &configs[globbuf.gl_pathc + 1]; - for(i = 0; i < globbuf.gl_pathc; i++) { - char *p; - - p = get_filename(globbuf.gl_pathv[i]); - if (!p) - continue; - - configs[i] = buf; - strcpy(buf, p); - buf += strlen(buf) + 1; - } - return configs; -} - -