Mercurial > projects > ldc
diff dmd2/inifile.c @ 1526:54b3c1394d62
Merged dmdfe 2.031.
author | Robert Clipsham <robert@octarineparrot.com> |
---|---|
date | Tue, 07 Jul 2009 02:26:11 +0100 |
parents | 638d16625da2 |
children |
line wrap: on
line diff
--- a/dmd2/inifile.c Mon Jul 06 23:57:27 2009 +0100 +++ b/dmd2/inifile.c Tue Jul 07 02:26:11 2009 +0100 @@ -15,6 +15,10 @@ #include <stdlib.h> #include <ctype.h> +#if _WIN32 +#include <windows.h> +#endif + #if __APPLE__ #include <sys/syslimits.h> #endif @@ -91,6 +95,15 @@ filename = FileName::combine(getenv("HOME"), inifile); if (!FileName::exists(filename)) { +#if _WIN32 // This fix by Tim Matthews + char resolved_name[MAX_PATH + 1]; + if(GetModuleFileName(NULL, resolved_name, MAX_PATH + 1) && FileName::exists(resolved_name)) + { + filename = (char *)FileName::replaceName(resolved_name, inifile); + if(FileName::exists(filename)) + goto Ldone; + } +#endif filename = (char *)FileName::replaceName(argv0, inifile); if (!FileName::exists(filename)) {