From f3dd32b03ee5dfdb62e63ec07cd5f64f8144a413 Mon Sep 17 00:00:00 2001 From: xengineering Date: Sun, 20 Apr 2025 15:08:22 +0200 Subject: fw: app: settings: Avoid external array --- fw/app/src/settings.c | 8 +++----- fw/app/src/settings.h | 3 ++- 2 files changed, 5 insertions(+), 6 deletions(-) (limited to 'fw/app') 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 { -- cgit v1.2.3-70-g09d2