using a macro for library name
authorRalph Ronnquist <ralph.ronnquist@gmail.com>
Wed, 26 Oct 2022 03:32:39 +0000 (14:32 +1100)
committerRalph Ronnquist <ralph.ronnquist@gmail.com>
Wed, 26 Oct 2022 03:32:39 +0000 (14:32 +1100)
tarmap.c

index e61e788d32f707e1bd3f81f7dcf7952cffe03c84..279b2343db84a7fe710adb8218adc0912b4d6aee 100644 (file)
--- a/tarmap.c
+++ b/tarmap.c
@@ -5,6 +5,9 @@
 #include <unistd.h>
 
 #define MAXSIZE 1000000
+
+#define LIBTARMAP "libtarmap-0.so"
+
 // Add/create string to end of env var with colon separation
 static char *makeEnv(char *name,char *value) {
     static char buffer[ MAXSIZE ]; // new variable value
@@ -54,7 +57,7 @@ int main(int argc,char *argv[],char *envp[]) {
     }
     char **nenvp = (char**) calloc( sizeof( char* ), n+1 );
     memcpy( nenvp, envp, n * sizeof( char*) );
-    nenvp[ i_preload ] = makeEnv( "LD_PRELOAD", "libtarmap.so" );
+    nenvp[ i_preload ] = makeEnv( "LD_PRELOAD", LIBTARMAP );
     nenvp[ i_tarmap ] = makeEnv( "TARMAP", argv[1] );
     execve( "/bin/bash", argv+1, nenvp );
     perror( "tarmap exec" );