[pacman-dev] [PATCH] Case insensitive configuration values (to allow both SigLevel = Never and SigLevel = never)
Alexander Rødseth
rodseth at gmail.com
Mon Jan 16 19:14:58 EST 2012
---
src/pacman/conf.c | 66 ++++++++++++++++++++++++++--------------------------
1 files changed, 33 insertions(+), 33 deletions(-)
diff --git a/src/pacman/conf.c b/src/pacman/conf.c
index 7ba2791..f114339 100644
--- a/src/pacman/conf.c
+++ b/src/pacman/conf.c
@@ -225,7 +225,7 @@ cleanup:
int config_set_arch(const char *arch)
{
- if(strcmp(arch, "auto") == 0) {
+ if(strcasecmp(arch, "auto") == 0) {
struct utsname un;
uname(&un);
config->arch = strdup(un.machine);
@@ -272,14 +272,14 @@ static int process_siglevel(alpm_list_t *values, alpm_siglevel_t *storage,
}
/* now parse out and store actual flag if it is valid */
- if(strcmp(value, "Never") == 0) {
+ if(strcasecmp(value, "Never") == 0) {
if(package) {
level &= ~ALPM_SIG_PACKAGE;
}
if(database) {
level &= ~ALPM_SIG_DATABASE;
}
- } else if(strcmp(value, "Optional") == 0) {
+ } else if(strcasecmp(value, "Optional") == 0) {
if(package) {
level |= ALPM_SIG_PACKAGE;
level |= ALPM_SIG_PACKAGE_OPTIONAL;
@@ -288,7 +288,7 @@ static int process_siglevel(alpm_list_t *values, alpm_siglevel_t *storage,
level |= ALPM_SIG_DATABASE;
level |= ALPM_SIG_DATABASE_OPTIONAL;
}
- } else if(strcmp(value, "Required") == 0) {
+ } else if(strcasecmp(value, "Required") == 0) {
if(package) {
level |= ALPM_SIG_PACKAGE;
level &= ~ALPM_SIG_PACKAGE_OPTIONAL;
@@ -297,7 +297,7 @@ static int process_siglevel(alpm_list_t *values, alpm_siglevel_t *storage,
level |= ALPM_SIG_DATABASE;
level &= ~ALPM_SIG_DATABASE_OPTIONAL;
}
- } else if(strcmp(value, "TrustedOnly") == 0) {
+ } else if(strcasecmp(value, "TrustedOnly") == 0) {
if(package) {
level &= ~ALPM_SIG_PACKAGE_MARGINAL_OK;
level &= ~ALPM_SIG_PACKAGE_UNKNOWN_OK;
@@ -306,7 +306,7 @@ static int process_siglevel(alpm_list_t *values, alpm_siglevel_t *storage,
level &= ~ALPM_SIG_DATABASE_MARGINAL_OK;
level &= ~ALPM_SIG_DATABASE_UNKNOWN_OK;
}
- } else if(strcmp(value, "TrustAll") == 0) {
+ } else if(strcasecmp(value, "TrustAll") == 0) {
if(package) {
level |= ALPM_SIG_PACKAGE_MARGINAL_OK;
level |= ALPM_SIG_PACKAGE_UNKNOWN_OK;
@@ -345,9 +345,9 @@ static int process_cleanmethods(alpm_list_t *values,
alpm_list_t *i;
for(i = values; i; i = alpm_list_next(i)) {
const char *value = i->data;
- if(strcmp(value, "KeepInstalled") == 0) {
+ if(strcasecmp(value, "KeepInstalled") == 0) {
config->cleanmethod |= PM_CLEAN_KEEPINST;
- } else if(strcmp(value, "KeepCurrent") == 0) {
+ } else if(strcasecmp(value, "KeepCurrent") == 0) {
config->cleanmethod |= PM_CLEAN_KEEPCUR;
} else {
pm_printf(ALPM_LOG_ERROR,
@@ -387,22 +387,22 @@ static int _parse_options(const char *key, char *value,
{
if(value == NULL) {
/* options without settings */
- if(strcmp(key, "UseSyslog") == 0) {
+ if(strcasecmp(key, "UseSyslog") == 0) {
config->usesyslog = 1;
pm_printf(ALPM_LOG_DEBUG, "config: usesyslog\n");
- } else if(strcmp(key, "ILoveCandy") == 0) {
+ } else if(strcasecmp(key, "ILoveCandy") == 0) {
config->chomp = 1;
pm_printf(ALPM_LOG_DEBUG, "config: chomp\n");
- } else if(strcmp(key, "VerbosePkgLists") == 0) {
+ } else if(strcasecmp(key, "VerbosePkgLists") == 0) {
config->verbosepkglists = 1;
pm_printf(ALPM_LOG_DEBUG, "config: verbosepkglists\n");
- } else if(strcmp(key, "UseDelta") == 0) {
+ } else if(strcasecmp(key, "UseDelta") == 0) {
config->usedelta = 1;
pm_printf(ALPM_LOG_DEBUG, "config: usedelta\n");
- } else if(strcmp(key, "TotalDownload") == 0) {
+ } else if(strcasecmp(key, "TotalDownload") == 0) {
config->totaldownload = 1;
pm_printf(ALPM_LOG_DEBUG, "config: totaldownload\n");
- } else if(strcmp(key, "CheckSpace") == 0) {
+ } else if(strcasecmp(key, "CheckSpace") == 0) {
config->checkspace = 1;
} else {
pm_printf(ALPM_LOG_WARNING,
@@ -411,50 +411,50 @@ static int _parse_options(const char *key, char *value,
}
} else {
/* options with settings */
- if(strcmp(key, "NoUpgrade") == 0) {
+ if(strcasecmp(key, "NoUpgrade") == 0) {
setrepeatingoption(value, "NoUpgrade", &(config->noupgrade));
- } else if(strcmp(key, "NoExtract") == 0) {
+ } else if(strcasecmp(key, "NoExtract") == 0) {
setrepeatingoption(value, "NoExtract", &(config->noextract));
- } else if(strcmp(key, "IgnorePkg") == 0) {
+ } else if(strcasecmp(key, "IgnorePkg") == 0) {
setrepeatingoption(value, "IgnorePkg", &(config->ignorepkg));
- } else if(strcmp(key, "IgnoreGroup") == 0) {
+ } else if(strcasecmp(key, "IgnoreGroup") == 0) {
setrepeatingoption(value, "IgnoreGroup", &(config->ignoregrp));
- } else if(strcmp(key, "HoldPkg") == 0) {
+ } else if(strcasecmp(key, "HoldPkg") == 0) {
setrepeatingoption(value, "HoldPkg", &(config->holdpkg));
- } else if(strcmp(key, "SyncFirst") == 0) {
+ } else if(strcasecmp(key, "SyncFirst") == 0) {
setrepeatingoption(value, "SyncFirst", &(config->syncfirst));
- } else if(strcmp(key, "CacheDir") == 0) {
+ } else if(strcasecmp(key, "CacheDir") == 0) {
setrepeatingoption(value, "CacheDir", &(config->cachedirs));
- } else if(strcmp(key, "Architecture") == 0) {
+ } else if(strcasecmp(key, "Architecture") == 0) {
if(!config->arch) {
config_set_arch(value);
}
- } else if(strcmp(key, "DBPath") == 0) {
+ } else if(strcasecmp(key, "DBPath") == 0) {
/* don't overwrite a path specified on the command line */
if(!config->dbpath) {
config->dbpath = strdup(value);
pm_printf(ALPM_LOG_DEBUG, "config: dbpath: %s\n", value);
}
- } else if(strcmp(key, "RootDir") == 0) {
+ } else if(strcasecmp(key, "RootDir") == 0) {
/* don't overwrite a path specified on the command line */
if(!config->rootdir) {
config->rootdir = strdup(value);
pm_printf(ALPM_LOG_DEBUG, "config: rootdir: %s\n", value);
}
- } else if(strcmp(key, "GPGDir") == 0) {
+ } else if(strcasecmp(key, "GPGDir") == 0) {
if(!config->gpgdir) {
config->gpgdir = strdup(value);
pm_printf(ALPM_LOG_DEBUG, "config: gpgdir: %s\n", value);
}
- } else if(strcmp(key, "LogFile") == 0) {
+ } else if(strcasecmp(key, "LogFile") == 0) {
if(!config->logfile) {
config->logfile = strdup(value);
pm_printf(ALPM_LOG_DEBUG, "config: logfile: %s\n", value);
}
- } else if(strcmp(key, "XferCommand") == 0) {
+ } else if(strcasecmp(key, "XferCommand") == 0) {
config->xfercommand = strdup(value);
pm_printf(ALPM_LOG_DEBUG, "config: xfercommand: %s\n", value);
- } else if(strcmp(key, "CleanMethod") == 0) {
+ } else if(strcasecmp(key, "CleanMethod") == 0) {
alpm_list_t *methods = NULL;
setrepeatingoption(value, "CleanMethod", &methods);
if(process_cleanmethods(methods, file, linenum)) {
@@ -462,7 +462,7 @@ static int _parse_options(const char *key, char *value,
return 1;
}
FREELIST(methods);
- } else if(strcmp(key, "SigLevel") == 0) {
+ } else if(strcasecmp(key, "SigLevel") == 0) {
alpm_list_t *values = NULL;
setrepeatingoption(value, "SigLevel", &values);
if(process_siglevel(values, &config->siglevel, file, linenum)) {
@@ -751,7 +751,7 @@ static int _parseconfig(const char *file, struct section_t *section,
}
pm_printf(ALPM_LOG_DEBUG, "config: new section '%s'\n", name);
section->name = name;
- section->is_options = (strcmp(name, "options") == 0);
+ section->is_options = (strcasecmp(name, "options") == 0);
continue;
}
@@ -777,7 +777,7 @@ static int _parseconfig(const char *file, struct section_t *section,
goto cleanup;
}
/* Include is allowed in both options and repo sections */
- if(strcmp(key, "Include") == 0) {
+ if(strcasecmp(key, "Include") == 0) {
glob_t globbuf;
int globret;
size_t gindex;
@@ -824,7 +824,7 @@ static int _parseconfig(const char *file, struct section_t *section,
}
} else if(!parse_options && !section->is_options) {
/* ... or in a repo section */
- if(strcmp(key, "Server") == 0) {
+ if(strcasecmp(key, "Server") == 0) {
if(value == NULL) {
pm_printf(ALPM_LOG_ERROR, _("config file %s, line %d: directive '%s' needs a value\n"),
file, linenum, key);
@@ -832,7 +832,7 @@ static int _parseconfig(const char *file, struct section_t *section,
goto cleanup;
}
section->servers = alpm_list_add(section->servers, strdup(value));
- } else if(strcmp(key, "SigLevel") == 0) {
+ } else if(strcasecmp(key, "SigLevel") == 0) {
alpm_list_t *values = NULL;
setrepeatingoption(value, "SigLevel", &values);
if(values) {
--
1.7.8.3
More information about the pacman-dev
mailing list