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;
// 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:
}
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;
}
// 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);
// 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(