X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=frontend%2Fmain.c;h=e36ad481ed4bc338fb4dcd4c268e90dc542be0ea;hp=6ee0b2f0923039290dbaef75bfbf13dfe7cfb48a;hb=b60f2812208aa36dc8b9e8e90f02b608dafd0c00;hpb=e906c010e1bea71ed4df425be97ce45dc777818c diff --git a/frontend/main.c b/frontend/main.c index 6ee0b2f0..e36ad481 100644 --- a/frontend/main.c +++ b/frontend/main.c @@ -18,6 +18,7 @@ #include "../libpcsxcore/misc.h" int UseGui; +static char *(*real_getenv)(const char *name); static void make_path(char *buf, size_t size, const char *dir, const char *fname) { @@ -67,8 +68,18 @@ int main(int argc, char *argv[]) char path[MAXPATHLEN]; int runcd = 0; int loadst = 0; + void *tmp; int i; + tmp = dlopen("/lib/libdl.so.2", RTLD_LAZY); + if (tmp != NULL) + real_getenv = dlsym(tmp, "getenv"); + if (real_getenv == NULL) { + fprintf(stderr, "%s\n", dlerror()); + return 1; + } + dlclose(tmp); + // what is the name of the config file? // it may be redefined by -cfg on the command line strcpy(cfgfile_basename, "pcsx.cfg"); @@ -376,14 +387,10 @@ char *getenv(const char *name) { static char ret[8] = "."; - // HACK - if (name && strcmp(name, "DISPLAY") == 0) - return ":0"; - - if (name && strcmp(name, "HOME") != 0) - fprintf(stderr, "getenv called with %s\n", name); + if (name && strcmp(name, "HOME") == 0) + return ret; - return ret; + return real_getenv(name); } #endif