diff lib/write-any-file.c @ 8592:e91286e73129

* lib/write-any-file.c (can_write_any_file): Fix else-else bug reported by Bruno Haible.
author Paul Eggert <eggert@cs.ucla.edu>
date Fri, 30 Mar 2007 07:08:51 +0000 (2007-03-30)
parents 24420da38757
children bbbbbf4cd1c5
line wrap: on
line diff
--- a/lib/write-any-file.c
+++ b/lib/write-any-file.c
@@ -34,10 +34,11 @@
 can_write_any_file (void)
 {
   static bool initialized;
-  static bool can;
+  static bool can_write;
 
   if (! initialized)
     {
+      bool can = false;
 #if defined PRIV_EFFECTIVE && defined PRIV_FILE_DAC_WRITE
       priv_set_t *pset = priv_allocset ();
       if (pset)
@@ -47,13 +48,13 @@
 	     && priv_ismember (pset, PRIV_FILE_DAC_WRITE));
 	  priv_freeset (pset);
 	}
-      else
 #else
       /* In traditional Unix, only root can unlink directories.  */
       can = (geteuid () == 0);
 #endif
+      can_write = can;
       initialized = true;
     }
 
-  return can;
+  return can_write;
 }