From f771a79dd9afaa0a4fecfb6ad155f1882a6f423d Mon Sep 17 00:00:00 2001 From: Hartmut Birr Date: Sun, 23 Mar 2003 15:18:34 +0000 Subject: [PATCH] - Set the executable flag for some files in _stat. svn path=/trunk/; revision=4415 --- reactos/lib/msvcrt/sys_stat/stat.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/reactos/lib/msvcrt/sys_stat/stat.c b/reactos/lib/msvcrt/sys_stat/stat.c index 242c0bf7739..7dc1b672a6c 100644 --- a/reactos/lib/msvcrt/sys_stat/stat.c +++ b/reactos/lib/msvcrt/sys_stat/stat.c @@ -12,6 +12,7 @@ int _stat(const char* path, struct stat* buffer) { HANDLE findHandle; WIN32_FIND_DATAA findData; + char* ext; if (!buffer) { @@ -46,7 +47,15 @@ int _stat(const char* path, struct stat* buffer) if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) buffer->st_mode |= S_IFDIR; else + { buffer->st_mode |= S_IFREG; + ext = strrchr(path, '.'); + if (ext && (!stricmp(ext, ".exe") || + !stricmp(ext, ".com") || + !stricmp(ext, ".bat") || + !stricmp(ext, ".cmd"))) + buffer->st_mode |= S_IEXEC; + } if (!(findData.dwFileAttributes & FILE_ATTRIBUTE_READONLY)) buffer->st_mode |= S_IWRITE;