From: Michael Tremer Date: Fri, 20 Oct 2023 10:39:42 +0000 (+0000) Subject: buildservice: Export upload UUID X-Git-Tag: 0.9.30~1427 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=81adcd5cda23a4358828f6694ac6b25258c5c1e0;p=pakfire.git buildservice: Export upload UUID Signed-off-by: Michael Tremer --- diff --git a/src/cli/lib/upload_create.c b/src/cli/lib/upload_create.c index f22c7ad0c..e578df85c 100644 --- a/src/cli/lib/upload_create.c +++ b/src/cli/lib/upload_create.c @@ -58,6 +58,7 @@ static error_t parse(int key, char* arg, struct argp_state* state, void* data) { int cli_upload_create(void* data, int argc, char* argv[]) { struct pakfire_buildservice* service = NULL; struct config config = {}; + char* uuid = NULL; int r; struct pakfire_ctx* ctx = data; @@ -74,9 +75,14 @@ int cli_upload_create(void* data, int argc, char* argv[]) { // List uploads for (unsigned int i = 0; i < config.num_files; i++) { - r = pakfire_buildservice_upload(service, config.files[i], NULL); + r = pakfire_buildservice_upload(service, config.files[i], NULL, &uuid); if (r) goto ERROR; + + if (uuid) { + printf("Uploaded %s as %s\n", config.files[i], uuid); + free(uuid); + } } ERROR: diff --git a/src/libpakfire/buildservice.c b/src/libpakfire/buildservice.c index 859f3da70..42cace912 100644 --- a/src/libpakfire/buildservice.c +++ b/src/libpakfire/buildservice.c @@ -476,9 +476,8 @@ ERROR: } PAKFIRE_EXPORT int pakfire_buildservice_upload(struct pakfire_buildservice* service, - const char* path, const char* filename) { + const char* path, const char* filename, char** uuid) { char basename[NAME_MAX]; - char* uuid = NULL; FILE* f = NULL; int r; @@ -499,20 +498,24 @@ PAKFIRE_EXPORT int pakfire_buildservice_upload(struct pakfire_buildservice* serv } // Create a new upload - r = pakfire_buildservice_create_upload(service, path, filename, f, &uuid); + r = pakfire_buildservice_create_upload(service, path, filename, f, uuid); if (r) goto ERROR; - CTX_DEBUG(service->ctx, "Created a new download (%s)\n", uuid); + CTX_DEBUG(service->ctx, "Created a new download (%s)\n", *uuid); // Send the payload - r = pakfire_buildservice_upload_payload(service, filename, uuid, f); + r = pakfire_buildservice_upload_payload(service, filename, *uuid, f); if (r) goto ERROR; ERROR: - if (uuid) - free(uuid); + if (r) { + if (*uuid) + free(*uuid); + + *uuid = NULL; + } if (f) fclose(f); diff --git a/src/libpakfire/include/pakfire/buildservice.h b/src/libpakfire/include/pakfire/buildservice.h index 4b70d10d2..17b3c8a3b 100644 --- a/src/libpakfire/include/pakfire/buildservice.h +++ b/src/libpakfire/include/pakfire/buildservice.h @@ -35,7 +35,7 @@ struct pakfire_buildservice* pakfire_buildservice_unref(struct pakfire_buildserv // Uploads int pakfire_buildservice_upload(struct pakfire_buildservice* service, - const char* path, const char* filename); + const char* path, const char* filename, char** uuid); int pakfire_buildservice_list_uploads( struct pakfire_buildservice* service, struct json_object** uploads); int pakfire_buildservice_delete_upload(