summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.go7
1 files changed, 5 insertions, 2 deletions
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)