generate: Change protocol parsing
This commit is contained in:
parent
2b5db83015
commit
14c417b740
@ -1,4 +1,4 @@
|
|||||||
package protocol
|
package generate
|
||||||
|
|
||||||
import "io"
|
import "io"
|
||||||
import "fmt"
|
import "fmt"
|
||||||
@ -227,24 +227,18 @@ func parseTag(text string) (uint16, error) {
|
|||||||
|
|
||||||
func splitMessageHeading(text string) (uint16, string, error) {
|
func splitMessageHeading(text string) (uint16, string, error) {
|
||||||
text = strings.TrimSpace(text)
|
text = strings.TrimSpace(text)
|
||||||
if !strings.HasPrefix(text, "(") {
|
methodText, name, ok := strings.Cut(text, " ")
|
||||||
return 0, "", fmt.Errorf(
|
|
||||||
"malformed message heading '%s': no method number",
|
|
||||||
text)
|
|
||||||
}
|
|
||||||
text = strings.TrimPrefix(text, "(")
|
|
||||||
methodText, name, ok := strings.Cut(text, ")")
|
|
||||||
if !ok {
|
if !ok {
|
||||||
return 0, "", fmt.Errorf(
|
return 0, "", fmt.Errorf(
|
||||||
"malformed message heading '%s': no message name",
|
"malformed message heading '%s': no message name",
|
||||||
text)
|
text)
|
||||||
}
|
}
|
||||||
method, err := strconv.ParseUint(text, 10, 16)
|
method, err := strconv.ParseUint(methodText, 16, 16)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, "", fmt.Errorf(
|
return 0, "", fmt.Errorf(
|
||||||
"malformed method number '%s': %w",
|
"malformed method number '%s': %w",
|
||||||
methodText, err)
|
methodText, err)
|
||||||
}
|
}
|
||||||
name = strings.TrimSpace(text)
|
name = strings.TrimSpace(name)
|
||||||
return uint16(method), name, nil
|
return uint16(method), name, nil
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user