From: Michael Tremer Date: Fri, 27 Jun 2025 10:29:21 +0000 (+0000) Subject: archive writer: Create a new type for the archive writer X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=76015401c356889c97fe931fc2a9c27e7d30ef1b;p=pakfire.git archive writer: Create a new type for the archive writer Signed-off-by: Michael Tremer --- diff --git a/src/pakfire/archive_writer.c b/src/pakfire/archive_writer.c index b5a6ad25..5fffc611 100644 --- a/src/pakfire/archive_writer.c +++ b/src/pakfire/archive_writer.c @@ -84,7 +84,7 @@ struct pakfire_archive_writer { * This function configures this object depending on the format. */ static int pakfire_archive_writer_setup_format( - struct pakfire_archive_writer* self, pakfire_archive_writer_format format) { + pakfire_archive_writer* self, pakfire_archive_writer_format format) { switch (format) { // The Pakfire Archive Format case PAKFIRE_FORMAT_ARCHIVE: @@ -144,7 +144,7 @@ static int pakfire_archive_writer_setup_format( return 0; } -static int pakfire_archive_writer_setup_archive(struct pakfire_archive_writer* self) { +static int pakfire_archive_writer_setup_archive(pakfire_archive_writer* self) { char value[64]; int r; @@ -242,7 +242,7 @@ static int pakfire_archive_writer_setup_archive(struct pakfire_archive_writer* s return 0; } -static int pakfire_archive_writer_setup_linkresolver(struct pakfire_archive_writer* self) { +static int pakfire_archive_writer_setup_linkresolver(pakfire_archive_writer* self) { // Setup the link resolver self->linkresolver = archive_entry_linkresolver_new(); if (!self->linkresolver) { @@ -257,7 +257,7 @@ static int pakfire_archive_writer_setup_linkresolver(struct pakfire_archive_writ return 0; } -static void pakfire_archive_writer_free(struct pakfire_archive_writer* self) { +static void pakfire_archive_writer_free(pakfire_archive_writer* self) { if (self->linkresolver) archive_entry_linkresolver_free(self->linkresolver); if (self->progress) @@ -271,9 +271,9 @@ static void pakfire_archive_writer_free(struct pakfire_archive_writer* self) { free(self); } -int pakfire_archive_writer_create(struct pakfire_archive_writer** writer, +int pakfire_archive_writer_create(pakfire_archive_writer** writer, struct pakfire* pakfire, pakfire_archive_writer_format format, FILE* f) { - struct pakfire_archive_writer* self = NULL; + pakfire_archive_writer* self = NULL; int r; // Allocate some memory @@ -334,13 +334,13 @@ ERROR: return r; } -struct pakfire_archive_writer* pakfire_archive_writer_ref(struct pakfire_archive_writer* self) { +pakfire_archive_writer* pakfire_archive_writer_ref(pakfire_archive_writer* self) { ++self->nrefs; return self; } -struct pakfire_archive_writer* pakfire_archive_writer_unref(struct pakfire_archive_writer* self) { +pakfire_archive_writer* pakfire_archive_writer_unref(pakfire_archive_writer* self) { if (--self->nrefs > 0) return self; @@ -348,7 +348,7 @@ struct pakfire_archive_writer* pakfire_archive_writer_unref(struct pakfire_archi return NULL; } -int pakfire_archive_writer_set_title(struct pakfire_archive_writer* self, +int pakfire_archive_writer_set_title(pakfire_archive_writer* self, const char* format, ...) { char buffer[128]; va_list args; @@ -365,7 +365,7 @@ int pakfire_archive_writer_set_title(struct pakfire_archive_writer* self, } static int pakfire_archive_writer_write_payload( - struct pakfire_archive_writer* self, FILE* f) { + pakfire_archive_writer* self, FILE* f) { ssize_t bytes_written = 0; ssize_t bytes_read = 0; char buffer[64 * 1024]; @@ -394,7 +394,7 @@ static int pakfire_archive_writer_write_payload( return 0; } -static int pakfire_archive_writer_write_entry(struct pakfire_archive_writer* self, +static int pakfire_archive_writer_write_entry(pakfire_archive_writer* self, struct pakfire_file* file, struct archive_entry* entry) { FILE* f = NULL; int r; @@ -455,7 +455,7 @@ ERROR: static int pakfire_archive_writer_write_file( pakfire_ctx* ctx, struct pakfire_file* file, void* data) { - struct pakfire_archive_writer* self = data; + pakfire_archive_writer* self = data; struct archive_entry* sparse_entry = NULL; struct archive_entry* entry = NULL; int r = 0; @@ -519,7 +519,7 @@ ERROR: } int pakfire_archive_writer_write_files( - struct pakfire_archive_writer* self, struct pakfire_filelist* files) { + pakfire_archive_writer* self, struct pakfire_filelist* files) { int r; // Fetch the total amount of data we are going to write @@ -551,7 +551,7 @@ ERROR: } int pakfire_archive_writer_write_everything( - struct pakfire_archive_writer* self, const char* root) { + pakfire_archive_writer* self, const char* root) { struct pakfire_filelist* files = NULL; int r; @@ -577,7 +577,7 @@ ERROR: return r; } -static int pakfire_archive_writer_create_entry(struct pakfire_archive_writer* self, +static int pakfire_archive_writer_create_entry(pakfire_archive_writer* self, struct archive_entry** entry, const char* path, const mode_t mode, const size_t length) { struct archive_entry* e = NULL; int r; @@ -625,7 +625,7 @@ ERROR: /* * Creates a new file and writes it to the archive. */ -int pakfire_archive_writer_create_file(struct pakfire_archive_writer* self, +int pakfire_archive_writer_create_file(pakfire_archive_writer* self, const char* path, mode_t mode, const char* payload, const size_t length) { struct archive_entry* entry = NULL; int r; @@ -670,7 +670,7 @@ ERROR: } int pakfire_archive_writer_create_file_from_json( - struct pakfire_archive_writer* self, const char* path, mode_t mode, struct json_object* json) { + pakfire_archive_writer* self, const char* path, mode_t mode, struct json_object* json) { const char* buffer = NULL; size_t length = 0; @@ -690,7 +690,7 @@ int pakfire_archive_writer_create_file_from_json( } int pakfire_archive_writer_create_file_from_file( - struct pakfire_archive_writer* self, const char* path, mode_t mode, FILE* f) { + pakfire_archive_writer* self, const char* path, mode_t mode, FILE* f) { struct archive_entry* entry = NULL; struct stat st = {}; int r; diff --git a/src/pakfire/archive_writer.h b/src/pakfire/archive_writer.h index 8e9faa0d..7c13a769 100644 --- a/src/pakfire/archive_writer.h +++ b/src/pakfire/archive_writer.h @@ -29,7 +29,7 @@ #include #include -struct pakfire_archive_writer; +typedef struct pakfire_archive_writer pakfire_archive_writer; typedef enum pakfire_archive_writer_formats { PAKFIRE_FORMAT_ARCHIVE, @@ -40,26 +40,26 @@ typedef enum pakfire_archive_writer_formats { PAKFIRE_FORMAT_OCI_LAYER, } pakfire_archive_writer_format; -int pakfire_archive_writer_create(struct pakfire_archive_writer** writer, +int pakfire_archive_writer_create(pakfire_archive_writer** writer, struct pakfire* pakfire, pakfire_archive_writer_format format, FILE* f); -struct pakfire_archive_writer* pakfire_archive_writer_ref(struct pakfire_archive_writer* self); -struct pakfire_archive_writer* pakfire_archive_writer_unref(struct pakfire_archive_writer* self); +pakfire_archive_writer* pakfire_archive_writer_ref(pakfire_archive_writer* self); +pakfire_archive_writer* pakfire_archive_writer_unref(pakfire_archive_writer* self); -int pakfire_archive_writer_set_title(struct pakfire_archive_writer* self, +int pakfire_archive_writer_set_title(pakfire_archive_writer* self, const char* format, ...) __attribute__((format(printf, 2, 3))); int pakfire_archive_writer_write_files( - struct pakfire_archive_writer* self, struct pakfire_filelist* files); + pakfire_archive_writer* self, struct pakfire_filelist* files); int pakfire_archive_writer_write_everything( - struct pakfire_archive_writer* self, const char* root); + pakfire_archive_writer* self, const char* root); -int pakfire_archive_writer_create_file(struct pakfire_archive_writer* self, +int pakfire_archive_writer_create_file(pakfire_archive_writer* self, const char* path, mode_t mode, const char* payload, const size_t length); -int pakfire_archive_writer_create_file_from_json(struct pakfire_archive_writer* self, +int pakfire_archive_writer_create_file_from_json(pakfire_archive_writer* self, const char* path, mode_t mode, struct json_object* json); int pakfire_archive_writer_create_file_from_file( - struct pakfire_archive_writer* self, const char* path, mode_t mode, FILE* f); + pakfire_archive_writer* self, const char* path, mode_t mode, FILE* f); #endif /* PAKFIRE_ARCHIVE_WRITER_H */ diff --git a/src/pakfire/oci.c b/src/pakfire/oci.c index adecfe6b..11891b8c 100644 --- a/src/pakfire/oci.c +++ b/src/pakfire/oci.c @@ -47,7 +47,7 @@ struct pakfire_oci_writer { struct pakfire* pakfire; // Image writer - struct pakfire_archive_writer* image; + pakfire_archive_writer* image; // Diff ID of the base layer char* diffid; @@ -420,7 +420,7 @@ ERROR: static int pakfire_oci_writer_make_layer(struct pakfire_oci_writer* self) { char path[PATH_MAX] = PAKFIRE_TMP_DIR "/pakfire-oci-layer.XXXXXX"; - struct pakfire_archive_writer* layer = NULL; + pakfire_archive_writer* layer = NULL; struct pakfire_hashes hashes = {}; struct json_object* json = NULL; char filename[PATH_MAX]; diff --git a/src/pakfire/packager.c b/src/pakfire/packager.c index 12268807..d26a5335 100644 --- a/src/pakfire/packager.c +++ b/src/pakfire/packager.c @@ -221,7 +221,7 @@ struct pakfire_packager* pakfire_packager_unref( } static int pakfire_packager_write_format(struct pakfire_packager* packager, - struct pakfire_archive_writer* writer) { + pakfire_archive_writer* writer) { const char format[] = TO_STRING(PACKAGE_FORMAT) "\n"; int r; @@ -245,7 +245,7 @@ static int pakfire_packager_write_format(struct pakfire_packager* packager, } static int pakfire_packager_write_metadata(struct pakfire_packager* packager, - struct pakfire_archive_writer* writer) { + pakfire_archive_writer* writer) { struct json_object* md = NULL; int r; @@ -271,7 +271,7 @@ ERROR: } static int pakfire_packager_write_scriptlet(struct pakfire_packager* packager, - struct pakfire_archive_writer* writer, struct pakfire_scriptlet* scriptlet) { + pakfire_archive_writer* writer, struct pakfire_scriptlet* scriptlet) { char filename[PATH_MAX]; size_t size; int r; @@ -299,7 +299,7 @@ static int pakfire_packager_write_scriptlet(struct pakfire_packager* packager, It will create a new archive and write the package to the given file descriptor. */ int pakfire_packager_finish(struct pakfire_packager* packager, FILE* f) { - struct pakfire_archive_writer* writer = NULL; + pakfire_archive_writer* writer = NULL; int r; // Fetch nevra