diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-04-15 00:57:17 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-04-15 01:03:37 -0400 |
commit | 415b1bb7b25a9452ac8275cfdf9ae95ac4594a76 (patch) | |
tree | e16cc0e61c248526fd52c9b6df9b55091465f7ed | |
parent | accc7f12ff3b178f5d267dd4af7ffd21b6122248 (diff) | |
download | stasis-415b1bb7b25a9452ac8275cfdf9ae95ac4594a76.tar.gz |
Due to how configuration data is bootstrapped we must free the release_name and build_* variables, so they can be regenerated a second time.
-rw-r--r-- | src/deliverable.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/deliverable.c b/src/deliverable.c index 34cf635..f3e031e 100644 --- a/src/deliverable.c +++ b/src/deliverable.c @@ -545,12 +545,17 @@ static int populate_delivery_ini(struct Delivery *ctx) { // Delivery metadata consumed populate_mission_ini(&ctx); - if (!ctx->info.release_name) { - if (delivery_format_str(ctx, &ctx->info.release_name, ctx->rules.release_fmt)) { - fprintf(stderr, "Failed to generate release name. Format used: %s\n", ctx->rules.release_fmt); - return -1; - } + if (ctx->info.release_name) { + guard_free(ctx->info.release_name); + guard_free(ctx->info.build_name); + guard_free(ctx->info.build_number); + } + + if (delivery_format_str(ctx, &ctx->info.release_name, ctx->rules.release_fmt)) { + fprintf(stderr, "Failed to generate release name. Format used: %s\n", ctx->rules.release_fmt); + return -1; } + if (!ctx->info.build_name) { delivery_format_str(ctx, &ctx->info.build_name, ctx->rules.build_name_fmt); } |