diff options
| author | Aaron Griffin <aaron@archlinux.org> | 2007-01-24 08:51:50 +0000 | 
|---|---|---|
| committer | Aaron Griffin <aaron@archlinux.org> | 2007-01-24 08:51:50 +0000 | 
| commit | 170d63190a3cfb0c12ee9ddfe07b21f20825bd6f (patch) | |
| tree | c1cad21e75daf695f61f83ca1072d0a52343a673 /src | |
| parent | 1b61cc8c69025ddd394401a506b21f16df5d4e6d (diff) | |
* Shuffled some of the alpm_list free funtions - still not perfect, but better
* Added alpm_list_remove_node for single list node removal
* Proper error checking/output for failed db_read/db_write (missing files)
* Invalid packages (missing files) are now removed from the package cache
* -Qs and -Ss output now look the same
* config.rpath causes errors on one machine I had, so I added it to CVS
* Fixed a "clobbered memory" issue when installing groups - only the outer list
  should be free'd, not the contained data
Diffstat (limited to 'src')
| -rw-r--r-- | src/pacman/add.c | 2 | ||||
| -rw-r--r-- | src/pacman/deptest.c | 4 | ||||
| -rw-r--r-- | src/pacman/log.c | 6 | ||||
| -rw-r--r-- | src/pacman/query.c | 17 | ||||
| -rw-r--r-- | src/pacman/remove.c | 2 | ||||
| -rw-r--r-- | src/pacman/sync.c | 11 | 
6 files changed, 25 insertions, 17 deletions
diff --git a/src/pacman/add.c b/src/pacman/add.c index 1dedbafb..64e5264d 100644 --- a/src/pacman/add.c +++ b/src/pacman/add.c @@ -167,7 +167,7 @@ int pacman_add(alpm_list_t *targets)  cleanup:  	if(data) { -		alpm_list_free(data, NULL); +		alpm_list_free(data);  	}  	if(alpm_trans_release() == -1) {  		ERR(NL, _("failed to release transaction (%s)\n"), alpm_strerror(pm_errno)); diff --git a/src/pacman/deptest.c b/src/pacman/deptest.c index a46141db..e37f4791 100644 --- a/src/pacman/deptest.c +++ b/src/pacman/deptest.c @@ -130,7 +130,7 @@ int pacman_deptest(alpm_list_t *targets)  					}  					synctargs = alpm_list_add(synctargs, strdup(alpm_dep_get_name(miss)));  				} -				alpm_list_free(data, NULL); +				alpm_list_free(data);  			break;  			case PM_ERR_CONFLICTING_DEPS:  				/* we can't auto-resolve conflicts */ @@ -139,7 +139,7 @@ int pacman_deptest(alpm_list_t *targets)  					MSG(NL, _("conflict: %s"), alpm_dep_get_name(miss));  				}  				retval = 127; -				alpm_list_free(data, NULL); +				alpm_list_free(data);  			break;  			default:  				retval = 127; diff --git a/src/pacman/log.c b/src/pacman/log.c index 4685bd85..f139fb14 100644 --- a/src/pacman/log.c +++ b/src/pacman/log.c @@ -192,12 +192,14 @@ int yesno(char *fmt, ...)  			pch--;  		}  		*++pch = 0; -		strtrim(response); +		if(strlen(response) != 0) { +			strtrim(response); +		}  		/* User hits 'enter', forcing a newline here */  		neednl = 0; -		if(!strcasecmp(response, _("Y")) || !strcasecmp(response, _("YES")) || !strlen(response)) { +		if(!strcasecmp(response, _("Y")) || !strcasecmp(response, _("YES")) || strlen(response) == 0) {  			return(1);  		}  	} diff --git a/src/pacman/query.c b/src/pacman/query.c index 4124f400..62e7ef10 100644 --- a/src/pacman/query.c +++ b/src/pacman/query.c @@ -98,16 +98,23 @@ int pacman_query(alpm_list_t *targets)  			return(1);  		}  		for(i = ret; i; i = alpm_list_next(i)) { +			char *group = NULL; +			alpm_list_t *grp;  			pmpkg_t *pkg = alpm_list_getdata(i); -			printf("local/%s/%s %s\n    ", -					(char *)alpm_list_getdata(alpm_pkg_get_groups(pkg)), -					alpm_pkg_get_name(pkg), -					alpm_pkg_get_version(pkg)); +			printf("local/%s %s", alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg)); + +			if((grp = alpm_pkg_get_groups(pkg)) != NULL) { +				group = alpm_list_getdata(grp); +				printf(" (%s)\n    ", (char *)alpm_list_getdata(grp)); +			} else { +				printf("\n    "); +			} +  			indentprint(alpm_pkg_get_desc(pkg), 4);  			printf("\n");  		} -		alpm_list_free_outer(ret); +		alpm_list_free(ret);  		return(0);  	} diff --git a/src/pacman/remove.c b/src/pacman/remove.c index b8dd1544..94ee66a2 100644 --- a/src/pacman/remove.c +++ b/src/pacman/remove.c @@ -103,7 +103,7 @@ int pacman_remove(alpm_list_t *targets)  					MSG(NL, _(":: %s is required by %s\n"), alpm_dep_get_target(miss),  					    alpm_dep_get_name(miss));  				} -				alpm_list_free(data, NULL); +				alpm_list_free(data);  			break;  			default:  			break; diff --git a/src/pacman/sync.c b/src/pacman/sync.c index 6288ac50..6b1cb432 100644 --- a/src/pacman/sync.c +++ b/src/pacman/sync.c @@ -265,7 +265,7 @@ static int sync_search(alpm_list_t *syncs, alpm_list_t *targets)  				indentprint(alpm_pkg_get_desc(pkg), 4);  				printf("\n\n");  			} -			alpm_list_free_outer(ret); +			alpm_list_free(ret);  		} else {  			for(j = alpm_db_getpkgcache(db); j; j = alpm_list_next(j)) {  				pmpkg_t *pkg = alpm_list_getdata(j); @@ -375,7 +375,7 @@ static int sync_list(alpm_list_t *syncs, alpm_list_t *targets)  			if(db == NULL) {  				ERR(NL, _("repository \"%s\" was not found.\n"),repo); -				FREELISTPTR(ls); +				alpm_list_free(ls);  				return(1);  			} @@ -395,7 +395,7 @@ static int sync_list(alpm_list_t *syncs, alpm_list_t *targets)  	}  	if(targets) { -		FREELISTPTR(ls); +		alpm_list_free(ls);  	}  	return(0); @@ -541,7 +541,7 @@ int pacman_sync(alpm_list_t *targets)  								}  							}  						} -						FREELIST(pkgs); +						alpm_list_free(pkgs);  					}  				}  				if(!found) { @@ -756,8 +756,7 @@ int pacman_sync(alpm_list_t *targets)  	 */  cleanup:  	if(data) { -		alpm_list_free(data, NULL); -		data = NULL; +		alpm_list_free(data);  	}  	if(alpm_trans_release() == -1) {  		ERR(NL, _("failed to release transaction (%s)\n"), alpm_strerror(pm_errno));  | 
