diff --git a/bin/xbps-rindex/index-clean.c b/bin/xbps-rindex/index-clean.c index da151311..047bd073 100644 --- a/bin/xbps-rindex/index-clean.c +++ b/bin/xbps-rindex/index-clean.c @@ -121,9 +121,9 @@ index_clean(struct xbps_handle *xhp, const char *repodir) for (unsigned int x = 0; x < xbps_array_count(cbd.result); x++) { xbps_array_get_cstring_nocopy(cbd.result, x, &keyname); printf("index: removed entry %s\n", keyname); + xbps_dictionary_remove(idxfiles, keyname); pkgname = xbps_pkg_name(keyname); xbps_dictionary_remove(idx, pkgname); - xbps_dictionary_remove(idxfiles, keyname); free(pkgname); flush = true; } diff --git a/tests/xbps/xbps-rindex/clean/clean_test.sh b/tests/xbps/xbps-rindex/clean/clean_test.sh index c407350b..e4235387 100644 --- a/tests/xbps/xbps-rindex/clean/clean_test.sh +++ b/tests/xbps/xbps-rindex/clean/clean_test.sh @@ -49,8 +49,9 @@ filesclean_body() { cd .. xbps-rindex -c some_repo atf_check_equal $? 0 - result=$(xbps-query --repository=some_repo -o \*|wc -l) - atf_check_equal ${result} 1 + result=$(xbps-query --repository=some_repo -o \*) + test -z "${result}" + atf_check_equal $? 0 } filesclean_cleanup() {