if directive {
context = "while parsing a %TAG directive"
}
- return yaml_parser_set_scanner_error(parser, context, context_mark, problem)
+ return yaml_parser_set_scanner_error(parser, context, context_mark, "did not find URI escaped octet")
}
func trace(args ...interface{}) func() {
} else {
// It's either the '!' tag or not really a tag handle. If it's a %TAG
// directive, it's an error. If it's a tag token, it must be a part of URI.
- if directive && string(s) != "!" {
+ if directive && !(s[0] == '!' && s[1] == 0) {
yaml_parser_set_scanner_tag_error(parser, directive,
start_mark, "did not find expected '!'")
return false
func yaml_parser_scan_tag_uri(parser *yaml_parser_t, directive bool, head []byte, start_mark yaml_mark_t, uri *[]byte) bool {
//size_t length = head ? strlen((char *)head) : 0
var s []byte
- hasTag := len(head) > 0
// Copy the head if needed.
//
if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) {
return false
}
- hasTag = true
}
- if !hasTag {
+ // Check if the tag is non-empty.
+ if len(s) == 0 {
yaml_parser_set_scanner_tag_error(parser, directive,
start_mark, "did not find expected tag URI")
return false