From: Silvio Fricke Date: Wed, 12 Nov 2014 07:38:59 +0000 (+0100) Subject: lxc/utils: improve choose_init code readability X-Git-Tag: lxc-1.1.0.alpha3~39^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F356%2Fhead;p=thirdparty%2Flxc.git lxc/utils: improve choose_init code readability Signed-off-by: Silvio Fricke --- diff --git a/src/lxc/utils.c b/src/lxc/utils.c index 34743dd76..3f5b2240d 100644 --- a/src/lxc/utils.c +++ b/src/lxc/utils.c @@ -1391,6 +1391,8 @@ bool file_exists(const char *f) char *choose_init(const char *rootfs) { char *retv = NULL; + const char *empty = "", + *tmp; int ret, env_set = 0; struct stat mystat; @@ -1415,9 +1417,11 @@ char *choose_init(const char *rootfs) return NULL; if (rootfs) - ret = snprintf(retv, PATH_MAX, "%s/%s/init.lxc", rootfs, SBINDIR); + tmp = rootfs; else - ret = snprintf(retv, PATH_MAX, SBINDIR "/init.lxc"); + tmp = empty; + + ret = snprintf(retv, PATH_MAX, "%s/%s/%s", tmp, SBINDIR, "/init.lxc"); if (ret < 0 || ret >= PATH_MAX) { ERROR("pathname too long"); goto out1; @@ -1427,10 +1431,7 @@ char *choose_init(const char *rootfs) if (ret == 0) return retv; - if (rootfs) - ret = snprintf(retv, PATH_MAX, "%s/%s/lxc/lxc-init", rootfs, LXCINITDIR); - else - ret = snprintf(retv, PATH_MAX, LXCINITDIR "/lxc/lxc-init"); + ret = snprintf(retv, PATH_MAX, "%s/%s/%s", tmp, LXCINITDIR, "/lxc/lxc-init"); if (ret < 0 || ret >= PATH_MAX) { ERROR("pathname too long"); goto out1; @@ -1440,10 +1441,7 @@ char *choose_init(const char *rootfs) if (ret == 0) return retv; - if (rootfs) - ret = snprintf(retv, PATH_MAX, "%s/usr/lib/lxc/lxc-init", rootfs); - else - ret = snprintf(retv, PATH_MAX, "/usr/lib/lxc/lxc-init"); + ret = snprintf(retv, PATH_MAX, "%s/usr/lib/lxc/lxc-init", tmp); if (ret < 0 || ret >= PATH_MAX) { ERROR("pathname too long"); goto out1; @@ -1452,10 +1450,7 @@ char *choose_init(const char *rootfs) if (ret == 0) return retv; - if (rootfs) - ret = snprintf(retv, PATH_MAX, "%s/sbin/lxc-init", rootfs); - else - ret = snprintf(retv, PATH_MAX, "/sbin/lxc-init"); + ret = snprintf(retv, PATH_MAX, "%s/sbin/lxc-init", tmp); if (ret < 0 || ret >= PATH_MAX) { ERROR("pathname too long"); goto out1;