[lxc-devel] [PATCH] log.c: always use dir when lxcpath is not default
Dwight Engen
dwight.engen at oracle.com
Tue Apr 30 20:33:18 UTC 2013
Signed-off-by: Dwight Engen <dwight.engen at oracle.com>
---
src/lxc/log.c | 36 +++++++++++++++++++++++-------------
1 file changed, 23 insertions(+), 13 deletions(-)
diff --git a/src/lxc/log.c b/src/lxc/log.c
index 61280bc..8d87a51 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;
--
1.8.1.4
More information about the lxc-devel
mailing list