diff options
| -rw-r--r-- | main.go | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -10,6 +10,7 @@ import ( "log" "net/http" "os" + "unicode/utf8" "runtime" "runtime/cgo" "strings" @@ -348,7 +349,7 @@ func main() { if err != nil { return luaErr(l, err) } - return luaOk(l, len(str)) + return luaOk(l, utf8.RuneCountInString(str)) } utfModule["lower"] = func (l *Lua) int { var str string @@ -365,7 +366,9 @@ func main() { if err != nil { return luaErr(l, err) } - return luaOk(l, str[start-1:start-1+length]) + runes := []rune(str) + cut := runes[start-1:start-1+length] + return luaOk(l, string(cut)) } module := make(map[string]any) |
