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))
 		{