From: Michael Tremer Date: Wed, 7 Apr 2021 11:23:16 +0000 (+0000) Subject: archive: Move path into archive struct X-Git-Tag: 0.9.28~1285^2~406 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=79bd093ea7533f9c0d9baa12ed1abd6178f143f0;p=pakfire.git archive: Move path into archive struct Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/archive.c b/src/libpakfire/archive.c index 4fab0ba14..26d77e260 100644 --- a/src/libpakfire/archive.c +++ b/src/libpakfire/archive.c @@ -62,7 +62,9 @@ struct pakfire_archive_chksum { struct _PakfireArchive { Pakfire pakfire; - char* path; + int nrefs; + + char path[PATH_MAX]; struct stat stat; // metadata @@ -82,7 +84,6 @@ struct _PakfireArchive { struct pakfire_scriptlet** scriptlets; size_t nscriptlets; - int nrefs; }; struct _PakfireArchiveSignature { @@ -332,9 +333,6 @@ static void pakfire_archive_free(PakfireArchive archive) { // Free all checksums pakfire_archive_free_chksums(archive); - if (archive->path) - free(archive->path); - // Free signatures if (archive->signatures) { PakfireArchiveSignature* signatures = archive->signatures; @@ -632,7 +630,11 @@ static int pakfire_archive_read_metadata(PakfireArchive archive, struct archive* } static int pakfire_archive_try_open(PakfireArchive archive, const char* path) { - archive->path = strdup(path); + if (!path) + return EINVAL; + + // Store path + pakfire_string_set(archive->path, path); // Stat the file and store the result int r = stat(archive->path, &archive->stat);