Get environment variable address
/* | |
* I'm not the author of this code, and I'm not sure who is. | |
* There are several variants floating around on the Internet, | |
* but this is the one I use. | |
*/ | |
#include <stdio.h> | |
#include <stdlib.h> | |
#include <string.h> | |
int main(int argc, char *argv[]) { | |
char *ptr; | |
if(argc < 3) { | |
printf("Usage: %s <environment variable> <target program name>\n", argv[0]); | |
exit(0); | |
} | |
ptr = getenv(argv[1]); /* get env var location */ | |
ptr += (strlen(argv[0]) - strlen(argv[2]))*2; /* adjust for program name */ | |
printf("%s will be at %p\n", argv[1], ptr); | |
} |
This comment has been minimized.
This comment has been minimized.
The code is from Page 147 and 148 of |
This comment has been minimized.
This comment has been minimized.
Also on page 38 and 39 of |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This comment has been minimized.
Credits for this goes to Jon Erickson :)