Radish alpha
H
HardenedBSD Package Manager
Radicle
Git (anonymous pull)
Log in to clone via SSH
Set error when open cache
Philippe Pepiot committed 15 years ago
commit ba6218428feb06d7a2bfbee5a23df23ad8bdffb0
parent bf882d4c94a03e27aac56ab2fe580c46d793176a
1 file changed +9 -5
modified libpkg/pkgdb_cache.c
@@ -296,15 +296,19 @@ pkgdb_cache_init(struct pkgdb *db)

	snprintf(path, sizeof(path), "%s/pkgdb.cache", pkgdb_get_dir());

-
	if ((fd = open(path, O_RDONLY)) < 0)
-
		/* TODO custom pkgdb error */
+
	if ((fd = open(path, O_RDONLY)) < 0) {
+
		free(db->cdb);
+
		pkgdb_set_error(db, errno, "open(%s)", path);
		return (-1);
+
	}

-
	if (cdb_init(db->cdb, fd) < 0)
-
		/* TODO custom pkgdb error */
+
	if (cdb_init(db->cdb, fd) < 0) {
+
		free(db->cdb);
+
		pkgdb_set_error(db, errno, "cdb_init on %s", path);
		return (-1);
+
	}

-
	return (fd);
+
	return (0);
}

void