generate: Change protocol parsing

This commit is contained in:
Sasha Koshka 2025-01-21 16:22:30 -05:00
parent 2b5db83015
commit 14c417b740

View File

@ -1,4 +1,4 @@
package protocol
package generate
import "io"
import "fmt"
@ -227,24 +227,18 @@ func parseTag(text string) (uint16, error) {
func splitMessageHeading(text string) (uint16, string, error) {
text = strings.TrimSpace(text)
if !strings.HasPrefix(text, "(") {
return 0, "", fmt.Errorf(
"malformed message heading '%s': no method number",
text)
}
text = strings.TrimPrefix(text, "(")
methodText, name, ok := strings.Cut(text, ")")
methodText, name, ok := strings.Cut(text, " ")
if !ok {
return 0, "", fmt.Errorf(
"malformed message heading '%s': no message name",
text)
}
method, err := strconv.ParseUint(text, 10, 16)
method, err := strconv.ParseUint(methodText, 16, 16)
if err != nil {
return 0, "", fmt.Errorf(
"malformed method number '%s': %w",
methodText, err)
}
name = strings.TrimSpace(text)
name = strings.TrimSpace(name)
return uint16(method), name, nil
}