OSDN Git Service

* security.cc (set_file_attribute): Clean up. Don't call
authorcorinna <corinna>
Thu, 2 Aug 2001 16:01:47 +0000 (16:01 +0000)
committercorinna <corinna>
Thu, 2 Aug 2001 16:01:47 +0000 (16:01 +0000)
        `set_nt_attribute' when ntsec isn't set.

winsup/cygwin/ChangeLog
winsup/cygwin/security.cc

index 36af78a..587c367 100644 (file)
@@ -1,3 +1,8 @@
+Thu Aug  2 17:59:00 2001  Corinna Vinschen <corinna@vinschen.de>
+
+       * security.cc (set_file_attribute): Clean up. Don't call
+       `set_nt_attribute' when ntsec isn't set.
+
 Sat Jul 28 22:30:55 2001  Christopher Faylor <cgf@cygnus.com>
 
        * dcrt0.cc (alloc_stack_hard_way): Make half-hearted attempt to deal
index fbc6c88..489c75b 100644 (file)
@@ -1587,18 +1587,16 @@ set_file_attribute (int use_ntsec, const char *file,
   if ((attribute & S_IFLNK) == S_IFLNK)
     attribute |= S_IRWXU | S_IRWXG | S_IRWXO;
 
-  if (allow_ntea && (!use_ntsec || !allow_ntsec))
+  int ret = 0;
+
+  if (use_ntsec && allow_ntsec)
+    ret = set_nt_attribute (file, uid, gid, logsrv, attribute);
+  else if (allow_ntea && !NTWriteEA (file, ".UNIXATTR", (char *) &attribute,
+                                    sizeof (attribute)))
     {
-      if (!NTWriteEA (file, ".UNIXATTR", (char *) &attribute,
-                     sizeof (attribute)))
-       {
-         __seterrno ();
-         return -1;
-       }
-      return 0;
+      __seterrno ();
+      ret = -1;
     }
-
-  int ret = set_nt_attribute (file, uid, gid, logsrv, attribute);
   syscall_printf ("%d = set_file_attribute (%s, %d, %d, %p)",
                  ret, file, uid, gid, attribute);
   return ret;