aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2020-03-17 16:09:20 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2020-03-17 16:09:20 -0400
commita4a6f109aa043397b7e32f3f2ebff77c51fd404f (patch)
treefc71ab3b34209d118f6690231e0e27a7eabd9e14 /src
parentacfe4e4a226372e58b0b4e2e361d1ba20c4fb301 (diff)
downloadspmc-a4a6f109aa043397b7e32f3f2ebff77c51fd404f.tar.gz
Missing packages are failures
* Remove accidental req_i++ (resulted in duplicate array records)
Diffstat (limited to 'src')
-rw-r--r--src/resolve.c18
1 files changed, 7 insertions, 11 deletions
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