Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
repo: simplify the signature of pkg_repo_fetch_remote_extract_fd
Baptiste Daroussin committed 2 years ago
commit ec8db30fb32e72d94c1292041116722941ca5ba3
parent 117646d
3 files changed +8 -10
modified libpkg/pkg_repo.c
@@ -681,19 +681,18 @@ out:
}

int
-
pkg_repo_fetch_remote_extract_fd(struct pkg_repo *repo, const char *filename,
-
    time_t *t, int *rc, size_t *sz)
+
pkg_repo_fetch_remote_extract_fd(struct pkg_repo *repo, time_t *t, int *rc, size_t *sz)
{
	int fd, dest_fd;
	const char *tmpdir;
	char tmp[MAXPATHLEN];
	struct stat st;

-
	fd = pkg_repo_fetch_remote_tmp(repo, filename, "pkg", t, rc, false);
+
	fd = pkg_repo_fetch_remote_tmp(repo, repo->meta->manifests, "pkg", t, rc, false);
	if (fd == -1) {
		if (*rc == EPKG_UPTODATE)
			return (-1);
-
		fd = pkg_repo_fetch_remote_tmp(repo, filename,
+
		fd = pkg_repo_fetch_remote_tmp(repo, repo->meta->manifests,
		    packing_format_to_string(repo->meta->packing_format), t, rc, false);
	}
	if (fd == -1)
@@ -702,7 +701,7 @@ pkg_repo_fetch_remote_extract_fd(struct pkg_repo *repo, const char *filename,
	tmpdir = getenv("TMPDIR");
	if (tmpdir == NULL)
		tmpdir = "/tmp";
-
	snprintf(tmp, sizeof(tmp), "%s/%s.XXXXXX", tmpdir, filename);
+
	snprintf(tmp, sizeof(tmp), "%s/%s.XXXXXX", tmpdir, repo->meta->manifests);

	dest_fd = mkstemp(tmp);
	if (dest_fd == -1) {
@@ -714,7 +713,7 @@ pkg_repo_fetch_remote_extract_fd(struct pkg_repo *repo, const char *filename,
	}

	(void)unlink(tmp);
-
	if (pkg_repo_archive_extract_check_archive(fd, filename, repo, dest_fd)
+
	if (pkg_repo_archive_extract_check_archive(fd, repo->meta->manifests, repo, dest_fd)
			!= EPKG_OK) {
		*rc = EPKG_FATAL;
		close(dest_fd);
modified libpkg/private/pkg.h
@@ -626,8 +626,8 @@ int pkg_fetch_file_to_fd(struct pkg_repo *repo, int dest, struct fetch_item *,
    bool silent);
int pkg_repo_fetch_package(struct pkg *pkg);
int pkg_repo_mirror_package(struct pkg *pkg, const char *destdir);
-
int pkg_repo_fetch_remote_extract_fd(struct pkg_repo *repo,
-
    const char *filename, time_t *t, int *rc, size_t *sz);
+
int pkg_repo_fetch_remote_extract_fd(struct pkg_repo *repo, time_t *t, int *rc,
+
    size_t *sz);
int pkg_repo_meta_dump_fd(struct pkg_repo_meta *target, const int fd);
int pkg_repo_fetch_meta(struct pkg_repo *repo, time_t *t);

modified libpkg/repo/binary/update.c
@@ -484,8 +484,7 @@ pkg_repo_binary_update_proceed(const char *name, struct pkg_repo *repo,

	/* Fetch packagesite */
	local_t = *mtime;
-
	fd = pkg_repo_fetch_remote_extract_fd(repo,
-
		repo->meta->manifests, &local_t, &rc, &len);
+
	fd = pkg_repo_fetch_remote_extract_fd(repo, &local_t, &rc, &len);
	if (fd == -1)
		goto cleanup;
	f = fdopen(fd, "r");