Tweak is_* function so the compiler can inline them.
diff --git a/yamlprivateh.go b/yamlprivateh.go
index 9dd382f..f5325a6 100644
--- a/yamlprivateh.go
+++ b/yamlprivateh.go
@@ -94,7 +94,8 @@
// Check if the character at the specified position is blank (space or tab).
func is_blank(b []byte, i int) bool {
- return is_space(b, i) || is_tab(b, i)
+ //return is_space(b, i) || is_tab(b, i)
+ return b[i] == ' ' || b[i] == '\t'
}
// Check if the character at the specified position is a line break.
@@ -112,17 +113,43 @@
// Check if the character is a line break or NUL.
func is_breakz(b []byte, i int) bool {
- return is_break(b, i) || b[i] == 0x00
+ //return is_break(b, i) || is_z(b, i)
+ return (// is_break:
+ b[i] == '\r' || // CR (#xD)
+ b[i] == '\n' || // LF (#xA)
+ b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85)
+ b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028)
+ b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029)
+ // is_z:
+ b[i] == 0)
}
// Check if the character is a line break, space, or NUL.
func is_spacez(b []byte, i int) bool {
- return is_space(b, i) || is_breakz(b, i)
+ //return is_space(b, i) || is_breakz(b, i)
+ return (// is_space:
+ b[i] == ' ' ||
+ // is_breakz:
+ b[i] == '\r' || // CR (#xD)
+ b[i] == '\n' || // LF (#xA)
+ b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85)
+ b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028)
+ b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029)
+ b[i] == 0)
}
// Check if the character is a line break, space, tab, or NUL.
func is_blankz(b []byte, i int) bool {
- return is_blank(b, i) || is_breakz(b, i)
+ //return is_blank(b, i) || is_breakz(b, i)
+ return (// is_blank:
+ b[i] == ' ' || b[i] == '\t' ||
+ // is_breakz:
+ b[i] == '\r' || // CR (#xD)
+ b[i] == '\n' || // LF (#xA)
+ b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85)
+ b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028)
+ b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029)
+ b[i] == 0)
}
// Determine the width of the character.