From a844c0ddbf04559b5bd39e38d9f6fc7eadcd30a4 Mon Sep 17 00:00:00 2001 From: andig Date: Sun, 29 Oct 2023 10:21:01 +0100 Subject: [PATCH] Fix accessing unexported fields --- server/mqtt.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/server/mqtt.go b/server/mqtt.go index 937453346..ae2c6e06b 100644 --- a/server/mqtt.go +++ b/server/mqtt.go @@ -93,8 +93,10 @@ func (m *MQTT) publishComplex(topic string, retained bool, payload interface{}) // loop struct for i := 0; i < typ.NumField(); i++ { - n := typ.Field(i).Name - m.publishComplex(fmt.Sprintf("%s/%s", topic, strings.ToLower(n[:1])+n[1:]), retained, val.Field(i).Interface()) + if f := typ.Field(i); f.IsExported() { + n := f.Name + m.publishComplex(fmt.Sprintf("%s/%s", topic, strings.ToLower(n[:1])+n[1:]), retained, val.Field(i).Interface()) + } } default: