summaryrefslogtreecommitdiff
path: root/fw
diff options
context:
space:
mode:
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 {