]> git.sur5r.net Git - bacula/bacula/commitdiff
- Fix exepath when Bacula executed without path.
authorKern Sibbald <kern@sibbald.com>
Tue, 9 Nov 2004 16:51:27 +0000 (16:51 +0000)
committerKern Sibbald <kern@sibbald.com>
Tue, 9 Nov 2004 16:51:27 +0000 (16:51 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1678 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/lib/message.c
bacula/src/lib/signal.c

index 905568b7a2ce41195e08c5bbd554942aa593633e..e1413790a86f5683f42066594eda30e53f5847a1 100755 (executable)
@@ -108,7 +108,7 @@ static int exit_on_error = 1;
 void my_name_is(int argc, char *argv[], const char *name)
 {
    char *l, *p, *q;
-   char cpath[1024], npath[1024];
+   char cpath[1024];
    int len;
 
    bstrncpy(my_name, name, sizeof(my_name));
@@ -145,24 +145,14 @@ void my_name_is(int argc, char *argv[], const char *name)
         *q++ = *p++;
       }
       *q = 0;
-      Dmsg1(200, "exepath=%s\n", exepath);
       if (strchr(exepath, '.') || exepath[0] != '/') {
-        npath[0] = 0;
         if (getcwd(cpath, sizeof(cpath))) {
-           if (chdir(exepath) == 0) {
-              if (!getcwd(npath, sizeof(npath))) {
-                 npath[0] = 0;
-              }
-              chdir(cpath);
-           }
-           if (npath[0]) {
-              free(exepath);
-              exepath = (char *)malloc(strlen(npath) + 1 + len);
-              strcpy(exepath, npath);
-           }
+           free(exepath);
+           exepath = (char *)malloc(strlen(cpath) + 1 + len);
+           strcpy(exepath, cpath);
         }
-         Dmsg1(200, "Normalized exepath=%s\n", exepath);
       }
+      Dmsg2(500, "exepath=%s\nexename=%s\n", exepath, exename);
    }
 }
 
index f0e250f338f4e9386a620f95339ca0f624a56c4f..27932e7e097422434a89e59a4a929723acef7d6b 100644 (file)
@@ -99,6 +99,7 @@ extern "C" void signal_handler(int sig)
 
       fprintf(stderr, "Kaboom! %s, %s got signal %d. Attempting traceback.\n", 
              exename, my_name, sig);
+      fprintf(stderr, "Kaboom! exepath=%s\n", exepath);
 
       if (exelen + 12 > (int)sizeof(btpath)) {
          bstrncpy(btpath, "btraceback", sizeof(btpath));