[pacman-dev] CVS update of pacman-lib/lib/libalpm (alpm.c)

Aaron Griffin aaron at archlinux.org
Tue Apr 3 23:59:36 EDT 2007


    Date: Tuesday, April 3, 2007 @ 23:59:36
  Author: aaron
    Path: /home/cvs-pacman/pacman-lib/lib/libalpm

Modified: alpm.c (1.127 -> 1.128)

This change does two things:
* Prefer case-insensitive config settings.  In the future case-insensitivity
  may be enforced.
* Provides a fix for the tr_TR locale by checking the case-insensitive version
  first.  This is more elegant than setting the 'C' locale for tr_TR.

Also added a 'RootDir' config option to match CacheDir and DBPath


--------+
 alpm.c |   41 +++++++++++++++++++++++++----------------
 1 file changed, 25 insertions(+), 16 deletions(-)


Index: pacman-lib/lib/libalpm/alpm.c
diff -u pacman-lib/lib/libalpm/alpm.c:1.127 pacman-lib/lib/libalpm/alpm.c:1.128
--- pacman-lib/lib/libalpm/alpm.c:1.127	Sun Mar 11 17:10:03 2007
+++ pacman-lib/lib/libalpm/alpm.c	Tue Apr  3 23:59:36 2007
@@ -884,6 +884,7 @@
 	char *ptr = NULL;
 	char *key = NULL;
 	int linenum = 0;
+	char origkey[256];
 	char section[256] = "";
 	pmdb_t *db = NULL;
 
@@ -938,21 +939,22 @@
 				RET_ERR(PM_ERR_CONF_BAD_SYNTAX, -1);
 			}
 			_alpm_strtrim(key);
+			strncpy(origkey, key, min(255, strlen(key)));
 			key = _alpm_strtoupper(key);
 			if(!strlen(section) && strcmp(key, "INCLUDE")) {
 				RET_ERR(PM_ERR_CONF_DIRECTIVE_OUTSIDE_SECTION, -1);
 			}
 			if(ptr == NULL) {
-				if(!strcmp(key, "NOPASSIVEFTP")) {
+				if(strcmp(origkey, "NoPassiveFTP") == 0 || strcmp(key, "NOPASSIVEFTP") == 0) {
 					alpm_option_set_nopassiveftp(1);
 					_alpm_log(PM_LOG_DEBUG, _("config: nopassiveftp"));
-				} else if(!strcmp(key, "USESYSLOG")) {
+				} else if(strcmp(origkey, "UseSyslog") == 0 || strcmp(key, "USESYSLOG") == 0) {
 					alpm_option_set_usesyslog(1);
 					_alpm_log(PM_LOG_DEBUG, _("config: usesyslog"));
-				} else if(!strcmp(key, "ILOVECANDY")) {
+				} else if(strcmp(origkey, "ILoveCandy") == 0 || strcmp(key, "ILOVECANDY") == 0) {
 					alpm_option_set_chomp(1);
 					_alpm_log(PM_LOG_DEBUG, _("config: chomp"));
-				} else if(!strcmp(key, "USECOLOR")) {
+				} else if(strcmp(origkey, "UseColor") == 0 || strcmp(key, "USECOLOR") == 0) {
 					alpm_option_set_usecolor(1);
 					_alpm_log(PM_LOG_DEBUG, _("config: usecolor"));
 				} else {
@@ -960,13 +962,13 @@
 				}
 			} else {
 				_alpm_strtrim(ptr);
-				if(!strcmp(key, "INCLUDE")) {
+				if(strcmp(origkey, "Include") == 0 || strcmp(key, "INCLUDE") == 0) {
 					char conf[PATH_MAX];
 					strncpy(conf, ptr, PATH_MAX);
 					_alpm_log(PM_LOG_DEBUG, _("config: including %s"), conf);
 					alpm_parse_config(conf, callback, section);
-				} else if(!strcmp(section, "options")) {
-					if(!strcmp(key, "NOUPGRADE")) {
+				} else if(strcmp(section, "options") == 0) {
+					if(strcmp(origkey, "NoUpgrade") == 0 || strcmp(key, "NOUPGRADE") == 0) {
 						char *p = ptr;
 						char *q;
 
@@ -979,7 +981,7 @@
 						}
 						alpm_option_add_noupgrade(p);
 						_alpm_log(PM_LOG_DEBUG, _("config: noupgrade: %s"), p);
-					} else if(!strcmp(key, "NOEXTRACT")) {
+					} else if(strcmp(origkey, "NoExtract") == 0 || strcmp(key, "NOEXTRACT") == 0) {
 						char *p = ptr;
 						char *q;
 
@@ -992,7 +994,7 @@
 						}
 						alpm_option_add_noextract(p);
 						_alpm_log(PM_LOG_DEBUG, _("config: noextract: %s"), p);
-					} else if(!strcmp(key, "IGNOREPKG")) {
+					} else if(strcmp(origkey, "IgnorePkg") == 0 || strcmp(key, "IGNOREPKG") == 0) {
 						char *p = ptr;
 						char *q;
 
@@ -1005,7 +1007,7 @@
 						}
 						alpm_option_add_ignorepkg(p);
 						_alpm_log(PM_LOG_DEBUG, _("config: ignorepkg: %s"), p);
-					} else if(!strcmp(key, "HOLDPKG")) {
+					} else if(strcmp(origkey, "HoldPkg") == 0 || strcmp(key, "HOLDPKG") == 0) {
 						char *p = ptr;
 						char *q;
 
@@ -1018,27 +1020,34 @@
 						}
 						alpm_option_add_holdpkg(p);
 						_alpm_log(PM_LOG_DEBUG, _("config: holdpkg: %s"), p);
-					} else if(!strcmp(key, "DBPATH")) {
+					} else if(strcmp(origkey, "DBPath") == 0 || strcmp(key, "DBPATH") == 0) {
 						/* shave off the leading slash, if there is one */
 						if(*ptr == '/') {
 							ptr++;
 						}
 						alpm_option_set_dbpath(ptr);
 						_alpm_log(PM_LOG_DEBUG, _("config: dbpath: %s"), ptr);
-					} else if(!strcmp(key, "CACHEDIR")) {
+					} else if(strcmp(origkey, "CacheDir") == 0 || strcmp(key, "CACHEDIR") == 0) {
 						/* shave off the leading slash, if there is one */
 						if(*ptr == '/') {
 							ptr++;
 						}
 						alpm_option_set_cachedir(ptr);
 						_alpm_log(PM_LOG_DEBUG, _("config: cachedir: %s"), ptr);
-					} else if (!strcmp(key, "LOGFILE")) {
+					} else if(strcmp(origkey, "RootDir") == 0 || strcmp(key, "ROOTDIR") == 0) {
+						/* shave off the leading slash, if there is one */
+						if(*ptr == '/') {
+							ptr++;
+						}
+						alpm_option_set_root(ptr);
+						_alpm_log(PM_LOG_DEBUG, _("config: rootdir: %s"), ptr);
+					} else if (strcmp(origkey, "LogFile") == 0 || strcmp(key, "LOGFILE") == 0) {
 						alpm_option_set_logfile(ptr);
 						_alpm_log(PM_LOG_DEBUG, _("config: logfile: %s"), ptr);
-					} else if (!strcmp(key, "XFERCOMMAND")) {
+					} else if (strcmp(origkey, "XferCommand") == 0 || strcmp(key, "XFERCOMMAND") == 0) {
 						alpm_option_set_xfercommand(ptr);
 						_alpm_log(PM_LOG_DEBUG, _("config: xfercommand: %s"), ptr);
-					} else if (!strcmp(key, "UPGRADEDELAY")) {
+					} else if (strcmp(origkey, "UpgradeDelay") == 0 || strcmp(key, "UPGRADEDELAY") == 0) {
 						/* The config value is in days, we use seconds */
 						time_t ud = atol(ptr) * 60 * 60 *24;
 						alpm_option_set_upgradedelay(ud);
@@ -1047,7 +1056,7 @@
 						RET_ERR(PM_ERR_CONF_BAD_SYNTAX, -1);
 					}
 				} else {
-					if(!strcmp(key, "SERVER")) {
+					if(strcmp(origkey, "Server") == 0 || strcmp(key, "SERVER") == 0) {
 						/* add to the list */
 						if(alpm_db_setserver(db, ptr) != 0) {
 							/* pm_errno is set by alpm_db_setserver */




More information about the pacman-dev mailing list