diff options
-rw-r--r-- | src/util/xmlconfig.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/util/xmlconfig.c b/src/util/xmlconfig.c index 60a6331c86c..ad943e2ce48 100644 --- a/src/util/xmlconfig.c +++ b/src/util/xmlconfig.c @@ -45,7 +45,16 @@ /* These aren't declared in any libc5 header */ extern char *program_invocation_name, *program_invocation_short_name; # endif -# define GET_PROGRAM_NAME() program_invocation_short_name +static const char * +__getProgramName() +{ + char * arg = strrchr(program_invocation_name, '/'); + if (arg) + return arg+1; + else + return program_invocation_name; +} +# define GET_PROGRAM_NAME() __getProgramName() #elif defined(__CYGWIN__) # define GET_PROGRAM_NAME() program_invocation_short_name #elif defined(__FreeBSD__) && (__FreeBSD__ >= 2) |