fixing illegal chars (just in case), copied from go-junit-report

This commit is contained in:
2024-11-22 22:56:30 +01:00
parent 3ce73b8db9
commit f269c95ce4
2 changed files with 27 additions and 53 deletions
+25
View File
@@ -0,0 +1,25 @@
package main
import "strings"
// copied from go-junit-report for fixing issues with chars that
// are out of range.
// from encoding/xml/xml.go, replace chars by unknown char
func isInCharacterRange(r rune) (inrange bool) {
return r == 0x09 ||
r == 0x0A ||
r == 0x0D ||
r >= 0x20 && r <= 0xD7FF ||
r >= 0xE000 && r <= 0xFFFD ||
r >= 0x10000 && r <= 0x10FFFF
}
func escapeIllegalChars(str string) string {
return strings.Map(func(r rune) rune {
if isInCharacterRange(r) {
return r
}
return '\uFFFD'
}, str)
}