From a4a6f109aa043397b7e32f3f2ebff77c51fd404f Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Tue, 17 Mar 2020 16:09:20 -0400 Subject: Missing packages are failures * Remove accidental req_i++ (resulted in duplicate array records) --- src/resolve.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'src/resolve.c') diff --git a/src/resolve.c b/src/resolve.c index db86867..bed9c60 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -42,27 +42,23 @@ ManifestPackage **resolve_dependencies(ManifestList *manifests, const char *spec return requirements; } + if (!resolve_has_dependency(package->archive)) { + requirements[req_i] = package; + req_i++; + } + for (size_t i = 0; i < package->requirements_records && i < SPM_REQUIREMENT_MAX; i++) { requirement = manifestlist_search(manifests, package->requirements[i]); if (requirement == NULL) { - fprintf(stderr, "WARNING: unable to resolve package via manifestlist_search(): '%s'\n", package->requirements[i]); - break; + fprintf(stderr, "ERROR: unable to resolve package via manifestlist_search(): '%s'\n", package->requirements[i]); + exit(1); } if (resolve_has_dependency(requirement->archive)) { free(requirement); } else { resolve_dependencies(manifests, requirement->archive); requirements[req_i] = requirement; - req_i++; } } - - if (!resolve_has_dependency(package->archive)) { - requirements[req_i] = package; -#ifdef _DEBUG - printf("%s: requirements[%zu] = '%s'\n", __FUNCTION__, req_i, requirements[req_i]->archive); -#endif - } - //free(package); return requirements; } \ No newline at end of file -- cgit