]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
def_load: split the econf from non-econf definition
authorSerge Hallyn <serge@hallyn.com>
Fri, 19 May 2023 19:42:04 +0000 (14:42 -0500)
committerIker Pedrosa <ikerpedrosam@gmail.com>
Mon, 22 May 2023 08:23:12 +0000 (10:23 +0200)
The function is completely different based on USE_CONF.  Either copy
will be easier to read if we just keep them completely separate.

Signed-off-by: Serge Hallyn <serge@hallyn.com>
lib/getdef.c

index 763d847ab492785a141543a69c508d33e8d32776..39cd62d5132566d933a5c5fb97cf5394a13fa9a0 100644 (file)
@@ -472,18 +472,13 @@ void setdef_config_file (const char* file)
  * Loads the user-configured options from the default configuration file
  */
 
+#ifdef USE_ECONF
 static void def_load (void)
 {
-#ifdef USE_ECONF
        econf_file *defs_file = NULL;
        econf_err error;
        char **keys;
        size_t key_number;
-#else
-       int i;
-       FILE *fp;
-       char buf[1024], *name, *value, *s;
-#endif
 
        /*
         * Set the initialized flag.
@@ -491,8 +486,6 @@ static void def_load (void)
         */
        def_loaded = true;
 
-#ifdef USE_ECONF
-
        error = econf_readDirs (&defs_file, vendordir, sysconfdir, "login", "defs", " \t", "#");
        if (error) {
                if (error == ECONF_NOFILE)
@@ -528,7 +521,20 @@ static void def_load (void)
 
        econf_free (keys);
        econf_free (defs_file);
-#else
+}
+#else /* USE_ECONF */
+static void def_load (void)
+{
+       int i;
+       FILE *fp;
+       char buf[1024], *name, *value, *s;
+
+       /*
+        * Set the initialized flag.
+        * (do it early to prevent recursion in putdef_str())
+        */
+       def_loaded = true;
+
        /*
         * Open the configuration definitions file.
         */
@@ -592,8 +598,8 @@ static void def_load (void)
        }
 
        (void) fclose (fp);
-#endif
 }
+#endif /* USE_ECONF */
 
 
 #ifdef CKDEFS