[pacman-dev] [PATCH 1/4] extract raw config file parser
Andrew Gregory
andrew.gregory.8 at gmail.com
Sat Jan 13 16:49:57 UTC 2018
To allow pacman-conf to parse the configuration file without having to
also setup alpm.
Signed-off-by: Andrew Gregory <andrew.gregory.8 at gmail.com>
---
src/pacman/conf.c | 13 +++++++++----
src/pacman/conf.h | 1 +
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/pacman/conf.c b/src/pacman/conf.c
index a283d7f4..e4980ed2 100644
--- a/src/pacman/conf.c
+++ b/src/pacman/conf.c
@@ -1036,6 +1036,14 @@ static int _parse_directive(const char *file, int linenum, const char *name,
}
}
+int parseconfigfile(const char *file)
+{
+ struct section_t section;
+ memset(§ion, 0, sizeof(struct section_t));
+ pm_printf(ALPM_LOG_DEBUG, "config: attempting to read file %s\n", file);
+ return parse_ini(file, _parse_directive, §ion);
+}
+
/** Parse a configuration file.
* @param file path to the config file
* @return 0 on success, non-zero on error
@@ -1043,10 +1051,7 @@ static int _parse_directive(const char *file, int linenum, const char *name,
int parseconfig(const char *file)
{
int ret;
- struct section_t section;
- memset(§ion, 0, sizeof(struct section_t));
- pm_printf(ALPM_LOG_DEBUG, "config: attempting to read file %s\n", file);
- if((ret = parse_ini(file, _parse_directive, §ion))) {
+ if((ret = parseconfigfile(file))) {
return ret;
}
pm_printf(ALPM_LOG_DEBUG, "config: finished parsing %s\n", file);
diff --git a/src/pacman/conf.h b/src/pacman/conf.h
index 53b44be6..e937051b 100644
--- a/src/pacman/conf.h
+++ b/src/pacman/conf.h
@@ -242,6 +242,7 @@ void config_repo_free(config_repo_t *repo);
int config_set_arch(const char *arch);
int parseconfig(const char *file);
+int parseconfigfile(const char *file);
#endif /* PM_CONF_H */
/* vim: set noet: */
--
2.15.1
More information about the pacman-dev
mailing list