add error handling for OSC address and bad arg type encoding

This commit is contained in:
Joel Wetzell
2026-04-13 18:48:50 -05:00
parent 4744321d71
commit 2548771fe3
3 changed files with 51 additions and 3 deletions
+9 -2
View File
@@ -6,7 +6,15 @@ import (
)
func (m *OSCMessage) ToBytes() ([]byte, error) {
//TODO(jwetzell): add error handling
if len(m.Address) == 0 {
return nil, errors.New("OSC Message must have an address")
}
if m.Address[0] != '/' {
return nil, errors.New("OSC Message address must start with /")
}
oscBuffer := []byte{}
oscBuffer = append(oscBuffer, stringToOSCBytes(m.Address)...)
@@ -18,7 +26,6 @@ func (m *OSCMessage) ToBytes() ([]byte, error) {
for _, arg := range m.Args {
sb.WriteString(arg.Type)
}
oscBuffer = append(oscBuffer, stringToOSCBytes(sb.String())...)
argsBuffer, err := argsToBuffer(m.Args)
if err != nil {