Add -D_GNU_SOURCE to CFLAGS for program_invocation_short_name() diff -upk.orig bzip2-1.0.4.orig/bzip2.c bzip2-1.0.4/bzip2.c --- bzip2-1.0.4.orig/bzip2.c 2007-01-10 22:05:04 +0000 +++ bzip2-1.0.4/bzip2.c 2007-01-10 22:06:38 +0000 @@ -209,8 +209,7 @@ Int32 longestFileName; Char inName [FILE_NAME_LEN]; Char outName[FILE_NAME_LEN]; Char tmpName[FILE_NAME_LEN]; -Char *progName; -Char progNameReally[FILE_NAME_LEN]; +const char *progName; FILE *outputHandleJustInCase; Int32 workFactor; @@ -1795,7 +1794,6 @@ void addFlagsFromEnvVar ( Cell** argList IntNative main ( IntNative argc, Char *argv[] ) { Int32 i, j; - Char *tmp; Cell *argList; Cell *aa; Bool decode; @@ -1834,10 +1832,7 @@ IntNative main ( IntNative argc, Char *a copyFileName ( inName, (Char*)"(none)" ); copyFileName ( outName, (Char*)"(none)" ); - copyFileName ( progNameReally, argv[0] ); - progName = &progNameReally[0]; - for (tmp = &progNameReally[0]; *tmp != '\0'; tmp++) - if (*tmp == PATH_SEP) progName = tmp + 1; + progName = program_invocation_short_name; /*-- Copy flags from env var BZIP2, and diff -upk.orig bzip2-1.0.4.orig/bzip2recover.c bzip2-1.0.4/bzip2recover.c --- bzip2-1.0.4.orig/bzip2recover.c 2007-01-10 22:05:04 +0000 +++ bzip2-1.0.4/bzip2recover.c 2007-01-10 22:06:38 +0000 @@ -67,7 +67,7 @@ typedef unsigned char Bool; Char inFileName[BZ_MAX_FILENAME]; Char outFileName[BZ_MAX_FILENAME]; -Char progName[BZ_MAX_FILENAME]; +const char *progName; MaybeUInt64 bytesOut = 0; MaybeUInt64 bytesIn = 0; @@ -333,7 +333,7 @@ Int32 main ( Int32 argc, Char** argv ) UInt32 buffHi, buffLo, blockCRC; Char* p; - strcpy ( progName, argv[0] ); + progName = program_invocation_short_name; inFileName[0] = outFileName[0] = 0; fprintf ( stderr,