X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=frontend%2Fmain.c;h=fd1c119862215ded0d80fae800b3ede6ec8ad5c6;hp=6ee0b2f0923039290dbaef75bfbf13dfe7cfb48a;hb=ae602c19f527fbc1f44cdb744cf824d04b8eceb1;hpb=e906c010e1bea71ed4df425be97ce45dc777818c diff --git a/frontend/main.c b/frontend/main.c index 6ee0b2f0..fd1c1198 100644 --- a/frontend/main.c +++ b/frontend/main.c @@ -14,10 +14,12 @@ #include #include "plugin.h" +#include "pcnt.h" #include "../gui/Linux.h" #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,15 +69,24 @@ 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"); emuLog = stdout; SetIsoFile(NULL); - Config.PsxOut = 1; // read command line options for (i = 1; i < argc; i++) { @@ -181,6 +192,7 @@ int main(int argc, char *argv[]) SysMessage("Failed loading plugins!"); return 1; } + pcnt_hook_plugins(); if (OpenPlugins() == -1) { return 1; @@ -340,19 +352,6 @@ void SysPrintf(const char *fmt, ...) { vsprintf(msg, fmt, list); va_end(list); - if (Config.PsxOut) { - static char linestart = 1; - int l = strlen(msg); - - printf(linestart ? " * %s" : "%s", msg); - - if (l > 0 && msg[l - 1] == '\n') { - linestart = 1; - } else { - linestart = 0; - } - } - fprintf(emuLog, "%s", msg); } @@ -376,14 +375,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