+2003-12-14 Hans Breuer <hans@breuer.org>
+
+ * glib/gfileutils.c : make g_file_test(,G_FILE_TEST_IS_EXECUTABLE)
+ return something useful on win32, too.
+
2003-12-13 Hans Breuer <hans@breuer.org>
* glib/gconvert.c : get_filename_charset() needs to
+2003-12-14 Hans Breuer <hans@breuer.org>
+
+ * glib/gfileutils.c : make g_file_test(,G_FILE_TEST_IS_EXECUTABLE)
+ return something useful on win32, too.
+
2003-12-13 Hans Breuer <hans@breuer.org>
* glib/gconvert.c : get_filename_charset() needs to
+2003-12-14 Hans Breuer <hans@breuer.org>
+
+ * glib/gfileutils.c : make g_file_test(,G_FILE_TEST_IS_EXECUTABLE)
+ return something useful on win32, too.
+
2003-12-13 Hans Breuer <hans@breuer.org>
* glib/gconvert.c : get_filename_charset() needs to
+2003-12-14 Hans Breuer <hans@breuer.org>
+
+ * glib/gfileutils.c : make g_file_test(,G_FILE_TEST_IS_EXECUTABLE)
+ return something useful on win32, too.
+
2003-12-13 Hans Breuer <hans@breuer.org>
* glib/gconvert.c : get_filename_charset() needs to
+2003-12-14 Hans Breuer <hans@breuer.org>
+
+ * glib/gfileutils.c : make g_file_test(,G_FILE_TEST_IS_EXECUTABLE)
+ return something useful on win32, too.
+
2003-12-13 Hans Breuer <hans@breuer.org>
* glib/gconvert.c : get_filename_charset() needs to
+2003-12-14 Hans Breuer <hans@breuer.org>
+
+ * glib/gfileutils.c : make g_file_test(,G_FILE_TEST_IS_EXECUTABLE)
+ return something useful on win32, too.
+
2003-12-13 Hans Breuer <hans@breuer.org>
* glib/gconvert.c : get_filename_charset() needs to
#include <io.h>
#ifndef F_OK
#define F_OK 0
-#define X_OK 1
#define W_OK 2
#define R_OK 4
#endif /* !F_OK */
if ((test & G_FILE_TEST_EXISTS) && (access (filename, F_OK) == 0))
return TRUE;
+#ifndef G_OS_WIN32
if ((test & G_FILE_TEST_IS_EXECUTABLE) && (access (filename, X_OK) == 0))
{
-#ifndef G_OS_WIN32
if (getuid () != 0)
-#endif
return TRUE;
/* For root, on some POSIX systems, access (filename, X_OK)
}
else
test &= ~G_FILE_TEST_IS_EXECUTABLE;
+#endif
if (test & G_FILE_TEST_IS_SYMLINK)
{
(s.st_mode & S_IXUSR) ||
(s.st_mode & S_IXGRP)))
return TRUE;
+#else
+ if ((test & G_FILE_TEST_IS_EXECUTABLE) &&
+ (s.st_mode & _S_IEXEC))
+ return TRUE;
#endif
}
}