summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Mraz <tmraz@redhat.com>2015-07-17 14:20:51 +0200
committerTomas Mraz <tmraz@redhat.com>2015-07-17 14:20:51 +0200
commit2feba1307c3bcfc1592b4e4162ebf9967cc096c5 (patch)
tree60e8a9ee6477eaaf860d395d49c8ade24fe93aa0
parentbe1aa48727a953b5aca8e997ff661e965d9c6984 (diff)
downloadlibpwquality-2feba1307c3bcfc1592b4e4162ebf9967cc096c5.tar.gz
Refactor out parsing of a single configuration file.
-rw-r--r--src/settings.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/settings.c b/src/settings.c
index 549f2ee..a6d6efa 100644
--- a/src/settings.c
+++ b/src/settings.c
@@ -99,19 +99,14 @@ set_name_value(pwquality_settings_t *pwq, const char *name, const char *value)
#define PWQSETTINGS_MAX_LINELEN 1023
-/* parse the configuration file (if NULL then the default one) */
+/* parse a single configuration file*/
int
-pwquality_read_config(pwquality_settings_t *pwq, const char *cfgfile, void **auxerror)
+read_config_file(pwquality_settings_t *pwq, const char *cfgfile, void **auxerror)
{
FILE *f;
char linebuf[PWQSETTINGS_MAX_LINELEN+1];
int rv = 0;
- if (auxerror)
- *auxerror = NULL;
- if (cfgfile == NULL)
- cfgfile = PWQUALITY_DEFAULT_CFGFILE;
-
f = fopen(cfgfile, "r");
if (f == NULL) {
/* ignore non-existent default config file */
@@ -186,6 +181,18 @@ pwquality_read_config(pwquality_settings_t *pwq, const char *cfgfile, void **aux
return rv;
}
+/* parse the configuration file (if NULL then the default one) */
+int
+pwquality_read_config(pwquality_settings_t *pwq, const char *cfgfile, void **auxerror)
+{
+ if (auxerror)
+ *auxerror = NULL;
+ if (cfgfile == NULL)
+ cfgfile = PWQUALITY_DEFAULT_CFGFILE;
+
+ return read_config_file(pwq, cfgfile, auxerror);
+}
+
/* useful for setting the options as configured on a pam module
* command line in form of <opt>=<val> */
int