log.c: always use dir when lxcpath is not default

Signed-off-by: Dwight Engen <dwight.engen@oracle.com>
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
This commit is contained in:
Dwight Engen 2013-04-30 16:33:18 -04:00 committed by Serge Hallyn
parent b338c81b9f
commit ee25a44fd3

View File

@ -187,31 +187,41 @@ static int log_open(const char *name)
static char *build_log_path(const char *name, const char *lxcpath) static char *build_log_path(const char *name, const char *lxcpath)
{ {
char *p; 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' * '$logpath' + '/' + '$name' + '/' + '$name' + '.log' + '\0'
* *
* If USE_CONFIGPATH_LOGS is false the resulting path will be: * If USE_CONFIGPATH_LOGS is false the resulting path will be:
* '$logpath' + '/' + '$name' + '.log' + '\0' * '$logpath' + '/' + '$name' + '.log' + '\0'
*/ */
len = strlen(name) + 6; /* 6 == '/' + '.log' + '\0' */ len = strlen(name) + 6; /* 6 == '/' + '.log' + '\0' */
if (!lxcpath) if (lxcpath)
use_dir = 1;
else
lxcpath = LOGPATH; lxcpath = LOGPATH;
#if USE_CONFIGPATH_LOGS
len += strlen(lxcpath) + 1 + strlen(name) + 1; /* add "/$container_name/" */ if (use_dir)
#else len += strlen(lxcpath) + 1 + strlen(name) + 1; /* add "/$container_name/" */
len += strlen(lxcpath) + 1; else
#endif len += strlen(lxcpath) + 1;
p = malloc(len); p = malloc(len);
if (!p) if (!p)
return p; return p;
#if USE_CONFIGPATH_LOGS
ret = snprintf(p, len, "%s/%s/%s.log", lxcpath, name, name); if (use_dir)
#else ret = snprintf(p, len, "%s/%s/%s.log", lxcpath, name, name);
ret = snprintf(p, len, "%s/%s.log", lxcpath, name); else
#endif ret = snprintf(p, len, "%s/%s.log", lxcpath, name);
if (ret < 0 || ret >= len) { if (ret < 0 || ret >= len) {
free(p); free(p);
return NULL; return NULL;