make g_file_test(,G_FILE_TEST_IS_EXECUTABLE) return something useful on
authorHans Breuer <hans@breuer.org>
Sun, 14 Dec 2003 19:05:29 +0000 (19:05 +0000)
committerHans Breuer <hans@src.gnome.org>
Sun, 14 Dec 2003 19:05:29 +0000 (19:05 +0000)
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.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-12
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
glib/gfileutils.c

index 52541684e619aa9b38ae5be1e99df9ecfccd049b..ae3851059957473cb82f2de50180cf6289a088b1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+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
index 52541684e619aa9b38ae5be1e99df9ecfccd049b..ae3851059957473cb82f2de50180cf6289a088b1 100644 (file)
@@ -1,3 +1,8 @@
+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
index 52541684e619aa9b38ae5be1e99df9ecfccd049b..ae3851059957473cb82f2de50180cf6289a088b1 100644 (file)
@@ -1,3 +1,8 @@
+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
index 52541684e619aa9b38ae5be1e99df9ecfccd049b..ae3851059957473cb82f2de50180cf6289a088b1 100644 (file)
@@ -1,3 +1,8 @@
+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
index 52541684e619aa9b38ae5be1e99df9ecfccd049b..ae3851059957473cb82f2de50180cf6289a088b1 100644 (file)
@@ -1,3 +1,8 @@
+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
index 52541684e619aa9b38ae5be1e99df9ecfccd049b..ae3851059957473cb82f2de50180cf6289a088b1 100644 (file)
@@ -1,3 +1,8 @@
+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
index 0381c80a455792dbfbbd8b55ec9d71b301c144dd..05e4f3624d0e51dc16361177d6302613c83da0a9 100644 (file)
@@ -40,7 +40,6 @@
 #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 */
@@ -121,11 +120,10 @@ g_file_test (const gchar *filename,
   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)
@@ -135,6 +133,7 @@ g_file_test (const gchar *filename,
     }
   else
     test &= ~G_FILE_TEST_IS_EXECUTABLE;
+#endif 
 
   if (test & G_FILE_TEST_IS_SYMLINK)
     {
@@ -171,6 +170,10 @@ g_file_test (const gchar *filename,
               (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
        }
     }