From ccce95dcd0cb3336182dd38faa0d56acd1b728e4 Mon Sep 17 00:00:00 2001 From: unwox Date: Tue, 15 Oct 2024 16:31:16 +0600 Subject: improve luna.utf methods --- main.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index dd5e7fe..7ee2c9d 100644 --- a/main.go +++ b/main.go @@ -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) -- cgit v1.2.3