Signed-off-by: Dwight Engen <dwight.en...@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


------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________
Lxc-devel mailing list
Lxc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-devel

Reply via email to