From: Christian Brauner Date: Tue, 15 Aug 2017 23:05:06 +0000 (+0200) Subject: confile: lxc_getconfig() -> lxc_get_config() X-Git-Tag: lxc-2.1.0~21^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=300df83ecfa049baf709251c22ef2b16a4a97aa0;p=thirdparty%2Flxc.git confile: lxc_getconfig() -> lxc_get_config() Signed-off-by: Christian Brauner --- diff --git a/src/lxc/commands.c b/src/lxc/commands.c index c6ece2cc7..68fbd387c 100644 --- a/src/lxc/commands.c +++ b/src/lxc/commands.c @@ -516,7 +516,7 @@ static int lxc_cmd_get_config_item_callback(int fd, struct lxc_cmd_req *req, struct lxc_config_t *item; memset(&rsp, 0, sizeof(rsp)); - item = lxc_getconfig(req->data); + item = lxc_get_config(req->data); if (!item) goto err1; cilen = item->get(req->data, NULL, 0, handler->conf, NULL); diff --git a/src/lxc/confile.c b/src/lxc/confile.c index 4c55ad79e..f9b3cf925 100644 --- a/src/lxc/confile.c +++ b/src/lxc/confile.c @@ -356,13 +356,14 @@ static const struct signame signames[] = { static const size_t config_size = sizeof(config) / sizeof(struct lxc_config_t); -extern struct lxc_config_t *lxc_getconfig(const char *key) +struct lxc_config_t *lxc_get_config(const char *key) { size_t i; for (i = 0; i < config_size; i++) if (!strncmp(config[i].name, key, strlen(config[i].name))) return &config[i]; + return NULL; } @@ -2038,7 +2039,7 @@ static int parse_line(char *buffer, void *data) } } - config = lxc_getconfig(key); + config = lxc_get_config(key); if (!config) { ERROR("unknown key %s", key); goto out; @@ -3607,7 +3608,7 @@ static struct lxc_config_t *get_network_config_ops(const char *key, memmove(copy + 8, idx_end + 1, strlen(idx_end + 1)); copy[strlen(key) - numstrlen + 1] = '\0'; - config = lxc_getconfig(copy); + config = lxc_get_config(copy); if (!config) { ERROR("unknown network configuration key %s", key); goto on_error; @@ -4442,8 +4443,10 @@ int lxc_list_config_items(char *retv, int inlen) for (i = 0; i < config_size; i++) { char *s = config[i].name; + if (s[strlen(s) - 1] == '.') continue; + strprint(retv, inlen, "%s\n", s); } diff --git a/src/lxc/confile.h b/src/lxc/confile.h index ef0343945..88a98cfb2 100644 --- a/src/lxc/confile.h +++ b/src/lxc/confile.h @@ -47,7 +47,7 @@ struct lxc_config_t { config_clr_cb clr; }; -extern struct lxc_config_t *lxc_getconfig(const char *key); +extern struct lxc_config_t *lxc_get_config(const char *key); /* List all configuration items associated with a given network. For example * pass "lxc.net.[i]" to retrieve all configuration items associated with diff --git a/src/lxc/confile_legacy.c b/src/lxc/confile_legacy.c index 5dddfe139..f3bd8fbaf 100644 --- a/src/lxc/confile_legacy.c +++ b/src/lxc/confile_legacy.c @@ -91,7 +91,7 @@ int set_config_network_legacy_nic(const char *key, const char *value, goto out; strcpy(copy + 12, p + 1); - config = lxc_getconfig(copy); + config = lxc_get_config(copy); if (!config) { ERROR("unknown key %s", key); goto out; diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c index 34696069c..564d3aa7e 100644 --- a/src/lxc/lxccontainer.c +++ b/src/lxc/lxccontainer.c @@ -1902,7 +1902,7 @@ static bool do_lxcapi_clear_config_item(struct lxc_container *c, if (container_mem_lock(c)) return false; - config = lxc_getconfig(key); + config = lxc_get_config(key); /* Verify that the config key exists and that it has a callback * implemented. */ @@ -2218,7 +2218,7 @@ static int do_lxcapi_get_config_item(struct lxc_container *c, const char *key, c if (container_mem_lock(c)) return -1; - config = lxc_getconfig(key); + config = lxc_get_config(key); /* Verify that the config key exists and that it has a callback * implemented. */ @@ -2248,22 +2248,27 @@ WRAP_API_1(char *, lxcapi_get_running_config_item, const char *) static int do_lxcapi_get_keys(struct lxc_container *c, const char *key, char *retv, int inlen) { + int ret = -1; + + /* List all config items. */ if (!key) return lxc_list_config_items(retv, inlen); - /* - * Support 'lxc.net.', i.e. 'lxc.net.0' - * This is an intelligent result to show which keys are valid given - * the type of nic it is - */ + if (!c || !c->lxc_conf) return -1; + if (container_mem_lock(c)) return -1; - int ret = -1; + + /* Support 'lxc.net.', i.e. 'lxc.net.0' + * This is an intelligent result to show which keys are valid given the + * type of nic it is. + */ if (!strncmp(key, "lxc.net.", 8)) ret = lxc_list_net(c->lxc_conf, key, retv, inlen); else if (strncmp(key, "lxc.network.", 12) == 0) ret = lxc_list_nicconfigs_legacy(c->lxc_conf, key, retv, inlen); + container_mem_unlock(c); return ret; } @@ -2755,7 +2760,7 @@ static bool set_config_item_locked(struct lxc_container *c, const char *key, con if (!c->lxc_conf) return false; - config = lxc_getconfig(key); + config = lxc_get_config(key); if (!config) return false; @@ -4867,5 +4872,5 @@ free_ct_name: bool lxc_config_item_is_supported(const char *key) { - return !!lxc_getconfig(key); + return !!lxc_get_config(key); } diff --git a/src/tests/config_jump_table.c b/src/tests/config_jump_table.c index 1fb244d42..8e86c48e4 100644 --- a/src/tests/config_jump_table.c +++ b/src/tests/config_jump_table.c @@ -54,7 +54,7 @@ int main(int argc, char *argv[]) for (key = strtok_r(keys, "\n", &saveptr); key != NULL; key = strtok_r(NULL, "\n", &saveptr)) { struct lxc_config_t *config; - config = lxc_getconfig(key); + config = lxc_get_config(key); if (!config) { lxc_error("configuration key \"%s\" not implemented in " "jump table",