diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-03-22 17:19:18 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-03-22 22:20:28 -0400 |
commit | 604a536247797016f2c77ea8e9c8cd76512b739c (patch) | |
tree | e66b0a478e9c3fc1afcb126a852e76a11ab2e0b9 | |
parent | c2fb23b6b47186e47d983591e47ae4bc153ea4e3 (diff) | |
download | stasis-604a536247797016f2c77ea8e9c8cd76512b739c.tar.gz |
Dynamically allocate Delivery.system.platform array.
* This avoids compiler warnings about passing the address to a stack-allocated chunk of member in tpl_register.
-rw-r--r-- | include/deliverable.h | 2 | ||||
-rw-r--r-- | src/deliverable.c | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/include/deliverable.h b/include/deliverable.h index fda3c94..5b80930 100644 --- a/include/deliverable.h +++ b/include/deliverable.h @@ -40,7 +40,7 @@ struct Delivery { struct System { char *arch; ///< System CPU architecture ident - char platform[DELIVERY_PLATFORM_MAX][DELIVERY_PLATFORM_MAXLEN]; + char **platform; ///< System platform name } system; /*! \struct Storage diff --git a/src/deliverable.c b/src/deliverable.c index 6b70912..28c8abc 100644 --- a/src/deliverable.c +++ b/src/deliverable.c @@ -268,6 +268,11 @@ int delivery_init_platform(struct Delivery *ctx) { return -1; } + ctx->system.platform = calloc(DELIVERY_PLATFORM_MAX, sizeof(*ctx->system.platform)); + for (size_t i = 0; i < DELIVERY_PLATFORM_MAX; i++) { + ctx->system.platform[i] = calloc(DELIVERY_PLATFORM_MAXLEN, sizeof(*ctx->system.platform[0])); + } + ctx->system.arch = strdup(uts.machine); if (!ctx->system.arch) { // memory error |