aboutsummaryrefslogtreecommitdiff
path: root/src/manifest.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/manifest.c')
-rw-r--r--src/manifest.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/manifest.c b/src/manifest.c
index 9926fa5..90c8087 100644
--- a/src/manifest.c
+++ b/src/manifest.c
@@ -100,19 +100,25 @@ Manifest *manifest_from(const char *package_dir) {
*/
void manifest_free(Manifest *info) {
for (size_t i = 0; i < info->records; i++) {
- if (info->packages[i]->requirements != NULL) {
- for (int j = 0; info->packages[i]->requirements[j] != NULL; j++) {
- free(info->packages[i]->requirements[j]);
- }
- free(info->packages[i]->requirements);
- }
- free(info->packages[i]);
+ manifest_package_free(info->packages[i]);
}
free(info->packages);
free(info);
}
/**
+ * Free a `ManifestPackage` structure
+ * @param info `ManifestPackage`
+ */
+void manifest_package_free(ManifestPackage *info) {
+ for (size_t i = 0; i < info->requirements_records; i++) {
+ free(info->requirements[i]);
+ }
+ free(info->requirements);
+ free(info);
+}
+
+/**
* Write a `Manifest` to the configuration directory
* @param info
* @param outfile
@@ -219,7 +225,7 @@ int fetch(const char *url, const char *dest) {
handle = url_fopen(url, "r");
if(!handle) {
- printf("couldn't url_fopen() %s\n", url);
+ fprintf(stderr, "couldn't url_fopen() %s\n", url);
return 2;
}