diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/pacman/sync.c | 12 | 
1 files changed, 7 insertions, 5 deletions
| diff --git a/src/pacman/sync.c b/src/pacman/sync.c index bf19d576..46091863 100644 --- a/src/pacman/sync.c +++ b/src/pacman/sync.c @@ -600,11 +600,12 @@ static int process_group(alpm_list_t *dbs, const char *group, int error)  	}  	if(config->print == 0) { +		char *array = malloc(count); +		int n = 0;  		colon_printf(_n("There is %d member in group %s:\n",  				"There are %d members in group %s:\n", count),  				count, group);  		select_display(pkgs); -		char *array = malloc(count);  		if(!array) {  			ret = 1;  			goto cleanup; @@ -614,12 +615,13 @@ static int process_group(alpm_list_t *dbs, const char *group, int error)  			free(array);  			goto cleanup;  		} -		int n = 0; -		for(i = pkgs; i; i = alpm_list_next(i)) { -			if(array[n++] == 0) -				continue; +		for(i = pkgs, n = 0; i; i = alpm_list_next(i)) {  			alpm_pkg_t *pkg = i->data; +			if(array[n++] == 0) { +				continue; +			} +  			if(process_pkg(pkg) == 1) {  				ret = 1;  				free(array); | 
