X-Git-Url: http://git.openwrt.org/?p=project%2Fuci.git;a=blobdiff_plain;f=file.c;h=9f59637d06ff33471227effe86ea9cbf4af64d64;hp=62ab1a8f5af25885032008b30f59fbc48a66097a;hb=80e2e58f4e4c0d8ff492281fa998d550a85b4d92;hpb=d11b68d88492b776de59a3ecf5536fb92539a70c diff --git a/file.c b/file.c index 62ab1a8..9f59637 100644 --- a/file.c +++ b/file.c @@ -442,7 +442,7 @@ static inline char *get_filename(char *path) return p; } -int uci_list_configs(struct uci_context *ctx, char ***list) +static char **uci_list_config_files(struct uci_context *ctx) { char **configs; glob_t globbuf; @@ -450,8 +450,6 @@ int uci_list_configs(struct uci_context *ctx, char ***list) char *buf; char *dir; - UCI_HANDLE_ERR(ctx); - dir = uci_malloc(ctx, strlen(ctx->confdir) + 1 + sizeof("/*")); sprintf(dir, "%s/*", ctx->confdir); if (glob(dir, GLOB_MARK, NULL, &globbuf) != 0) @@ -481,10 +479,8 @@ int uci_list_configs(struct uci_context *ctx, char ***list) strcpy(buf, p); buf += strlen(buf) + 1; } - *list = configs; free(dir); - - return 0; + return configs; } static struct uci_package *uci_file_load(struct uci_context *ctx, const char *name) @@ -536,4 +532,5 @@ static struct uci_backend uci_file_backend = { .name = "file", .load = uci_file_load, .commit = uci_file_commit, + .list_configs = uci_list_config_files, };