From: Kern Sibbald Date: Tue, 9 Nov 2004 16:51:27 +0000 (+0000) Subject: - Fix exepath when Bacula executed without path. X-Git-Tag: Release-1.36.1~39 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=d8be82299bfe338e52e7f0cbb2fe0b604c0c01b4;p=bacula%2Fbacula - Fix exepath when Bacula executed without path. git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1678 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/bacula/src/lib/message.c b/bacula/src/lib/message.c index 905568b7a2..e1413790a8 100755 --- a/bacula/src/lib/message.c +++ b/bacula/src/lib/message.c @@ -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); } } diff --git a/bacula/src/lib/signal.c b/bacula/src/lib/signal.c index f0e250f338..27932e7e09 100644 --- a/bacula/src/lib/signal.c +++ b/bacula/src/lib/signal.c @@ -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));