summaryrefslogtreecommitdiff
path: root/fw
diff options
context:
space:
mode:
authorxengineering <me@xengineering.eu>2025-04-20 15:08:22 +0200
committerxengineering <me@xengineering.eu>2025-04-20 15:08:22 +0200
commitf3dd32b03ee5dfdb62e63ec07cd5f64f8144a413 (patch)
treec022169d84917e5b0e1a43b654be83e0c877b7f7 /fw
parent662c342f870e5bdcd1f46163dded1156bef06fd2 (diff)
downloadiot-contact-f3dd32b03ee5dfdb62e63ec07cd5f64f8144a413.tar
iot-contact-f3dd32b03ee5dfdb62e63ec07cd5f64f8144a413.tar.zst
iot-contact-f3dd32b03ee5dfdb62e63ec07cd5f64f8144a413.zip
fw: app: settings: Avoid external array
Diffstat (limited to 'fw')
-rw-r--r--fw/app/src/settings.c8
-rw-r--r--fw/app/src/settings.h3
2 files changed, 5 insertions, 6 deletions
diff --git a/fw/app/src/settings.c b/fw/app/src/settings.c
index 04d309e..4b2c248 100644
--- a/fw/app/src/settings.c
+++ b/fw/app/src/settings.c
@@ -51,18 +51,16 @@ static const struct json_obj_descr settings_descr[] = {
int settings_to_json(void *buffer, size_t len)
{
struct settings settings = {0,};
+ settings.syslog.target.ip = (char *)settings.syslog.target.ip_array;
- static char ip[IPV6_STRLEN_MAX];
int ret = settings_runtime_get("syslog/target/ip",
- ip,
- sizeof(ip));
+ settings.syslog.target.ip_array,
+ sizeof(settings.syslog.target.ip_array));
if (ret < 0) {
LOG_ERR("Failed to get runtime setting syslog/target/ip (%d)", ret);
return ret;
}
- settings.syslog.target.ip = ip;
-
ret = json_obj_encode_buf(
settings_descr,
ARRAY_SIZE(settings_descr),
diff --git a/fw/app/src/settings.h b/fw/app/src/settings.h
index d86477e..290d1ff 100644
--- a/fw/app/src/settings.h
+++ b/fw/app/src/settings.h
@@ -15,7 +15,8 @@
struct settings_syslog_target {
- const char *ip;
+ char ip_array[IPV6_STRLEN_MAX];
+ char *ip; /* Zephyr's JSON lib does not work with arrays directly */
};
struct settings_syslog {