summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--byterun/sys.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/byterun/sys.c b/byterun/sys.c
index 3a022299d..7112f6e97 100644
--- a/byterun/sys.c
+++ b/byterun/sys.c
@@ -278,9 +278,9 @@ char * searchpath(char * name)
if (p != fullname && p[-1] != '\\') *p++ = '\\';
for (q = name; *q != 0; p++, q++) *p = *q;
*p = 0;
- if (stat(fullname, &st) == 0) break;
+ if (stat(fullname, &st) == 0 && S_ISREG(st.st_mode)) break;
strcpy(p, ".exe");
- if (stat(fullname, &st) == 0) break;
+ if (stat(fullname, &st) == 0 && S_ISREG(st.st_mode)) break;
if (*path == 0) return 0;
path++;
}
@@ -330,6 +330,8 @@ char * searchpath(char * name)
#endif /* _WIN32, macintosh, ... */
+/* Wrapper around "system" for Win32 */
+
#ifdef _WIN32
#include <ctype.h>