Fix bug #443436: endless loop if indirect dep missing in repo.

Make xbps_find_deps_in_pkg() return ENOENT when missing deps are found.

--HG--
extra : convert_revision : xtraeme%40gmail.com-20091005195748-nhhsgldgg3hwfcz7
This commit is contained in:
Juan RP 2009-10-05 21:57:48 +02:00
parent f02dd4ccb4
commit 1afb358221

View File

@ -143,6 +143,7 @@ xbps_find_deps_in_pkg(prop_dictionary_t master, prop_dictionary_t pkg)
prop_array_t pkg_rdeps, missing_rdeps; prop_array_t pkg_rdeps, missing_rdeps;
struct repository_data *rdata; struct repository_data *rdata;
int rv = 0; int rv = 0;
bool missingdeps = false;
assert(pkg != NULL); assert(pkg != NULL);
assert(iter != NULL); assert(iter != NULL);
@ -165,6 +166,7 @@ xbps_find_deps_in_pkg(prop_dictionary_t master, prop_dictionary_t pkg)
if (rv != 0) { if (rv != 0) {
if (rv == ENOENT) { if (rv == ENOENT) {
rv = 0; rv = 0;
missingdeps = true;
continue; continue;
} }
break; break;
@ -185,7 +187,10 @@ xbps_find_deps_in_pkg(prop_dictionary_t master, prop_dictionary_t pkg)
return rv; return rv;
} }
return 0; if (missingdeps)
rv = ENOENT;
return rv;
} }
static int static int