]> granicus.if.org Git - fcron/commitdiff
bug corrected : a fcron.allow or an fcron.deny file absent was
authorthib <thib>
Fri, 15 Dec 2000 17:48:24 +0000 (17:48 +0000)
committerthib <thib>
Fri, 15 Dec 2000 17:48:24 +0000 (17:48 +0000)
not handled correctly.

allow.c

diff --git a/allow.c b/allow.c
index 565eba1b1d38213f76204a20f54ad470d85b7ef2..8ce3da09007ad4ef76afa1cd1552a83da939d277 100644 (file)
--- a/allow.c
+++ b/allow.c
  *  `LICENSE' that comes with the fcron source distribution.
  */
 
- /* $Id: allow.c,v 1.3 2000-05-30 19:24:44 thib Exp $ */
+ /* $Id: allow.c,v 1.4 2000-12-15 17:48:24 thib Exp $ */
 
 #include "fcrontab.h"
 
 int
 in_file(char *str, char *file)
-    /* return -1 if file can't be opened
+    /* return -1 if file doesn't exist
      *        0 if string is not in file,
      *        1 if it is in file
      *   and  2 if file contains "all" string */
@@ -42,8 +42,10 @@ in_file(char *str, char *file)
        return -1;
 
     if ( (f = fopen(file, "r")) == NULL ) {
-       die_e("could not open %s", file);
-       return -1;
+       if (errno == ENOENT)
+           return -1;
+       else
+           die_e("could not open %s", file);
     }
 
     while ( fgets(buf, sizeof(buf), f) != NULL ) {
@@ -85,7 +87,7 @@ is_allowed(char *user)
     deny = in_file(user, ETC "/" FCRON_DENY);
 
     if ( allow == -1 && deny == -1 )
-       /* neither fcron.allow nor fcron.deny exist ( or can be opened ) :
+       /* neither fcron.allow nor fcron.deny exist :
         * we consider that user is allowed */
        return 1;