e start - path manipulation - don't add a : if there already is one
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Tue, 26 May 2015 23:43:13 +0000 (08:43 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Tue, 26 May 2015 23:43:13 +0000 (08:43 +0900)
avoids adding more : chars to make a broken path even worse

src/bin/e_start_main.c

index d2a997a..475df23 100644 (file)
@@ -215,7 +215,7 @@ _env_path_prepend(const char *env, const char *path)
         strcat(s, p2);
         if (p)
           {
-             strcat(s, ":");
+             if (p[0] != ':') strcat(s, ":");
              strcat(s, p);
           }
         env_set(env, s);
@@ -252,7 +252,10 @@ _env_path_append(const char *env, const char *path)
         if (p)
           {
              strcat(s, p);
-             strcat(s, ":");
+             if (len > 0)
+               {
+                  if (s[len - 1] != ':') strcat(s, ":");
+               }
           }
         strcat(s, p2);
         env_set(env, s);