From: Dwight Engen Date: Tue, 30 Apr 2013 20:33:18 +0000 (-0400) Subject: log.c: always use dir when lxcpath is not default X-Git-Tag: lxc-1.0.0.alpha1~1^2~243 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ee25a44fd389ed450e3d7ef9513eec19668f2de7;p=thirdparty%2Flxc.git log.c: always use dir when lxcpath is not default Signed-off-by: Dwight Engen Signed-off-by: Serge Hallyn --- diff --git a/src/lxc/log.c b/src/lxc/log.c index 61280bc0b..8d87a5180 100644 --- a/src/lxc/log.c +++ b/src/lxc/log.c @@ -187,31 +187,41 @@ static int log_open(const char *name) static char *build_log_path(const char *name, const char *lxcpath) { char *p; - int len, ret; + int len, ret, use_dir; + +#if USE_CONFIGPATH_LOGS + use_dir = 1; +#else + use_dir = 0; +#endif /* - * If USE_CONFIGPATH_LOGS is true the resulting path will be: + * If USE_CONFIGPATH_LOGS is true or lxcpath is given, the resulting + * path will be: * '$logpath' + '/' + '$name' + '/' + '$name' + '.log' + '\0' * * If USE_CONFIGPATH_LOGS is false the resulting path will be: * '$logpath' + '/' + '$name' + '.log' + '\0' */ len = strlen(name) + 6; /* 6 == '/' + '.log' + '\0' */ - if (!lxcpath) + if (lxcpath) + use_dir = 1; + else lxcpath = LOGPATH; -#if USE_CONFIGPATH_LOGS - len += strlen(lxcpath) + 1 + strlen(name) + 1; /* add "/$container_name/" */ -#else - len += strlen(lxcpath) + 1; -#endif + + if (use_dir) + len += strlen(lxcpath) + 1 + strlen(name) + 1; /* add "/$container_name/" */ + else + len += strlen(lxcpath) + 1; p = malloc(len); if (!p) return p; -#if USE_CONFIGPATH_LOGS - ret = snprintf(p, len, "%s/%s/%s.log", lxcpath, name, name); -#else - ret = snprintf(p, len, "%s/%s.log", lxcpath, name); -#endif + + if (use_dir) + ret = snprintf(p, len, "%s/%s/%s.log", lxcpath, name, name); + else + ret = snprintf(p, len, "%s/%s.log", lxcpath, name); + if (ret < 0 || ret >= len) { free(p); return NULL;