diff options
author | Tomas Mraz <tmraz@redhat.com> | 2015-07-17 14:20:51 +0200 |
---|---|---|
committer | Tomas Mraz <tmraz@redhat.com> | 2015-07-17 14:20:51 +0200 |
commit | 2feba1307c3bcfc1592b4e4162ebf9967cc096c5 (patch) | |
tree | 60e8a9ee6477eaaf860d395d49c8ade24fe93aa0 | |
parent | be1aa48727a953b5aca8e997ff661e965d9c6984 (diff) | |
download | libpwquality-2feba1307c3bcfc1592b4e4162ebf9967cc096c5.tar.gz |
Refactor out parsing of a single configuration file.
-rw-r--r-- | src/settings.c | 21 |
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 |