From 60323962f74fd692d7b1307502b7353ef4938999 Mon Sep 17 00:00:00 2001 From: Ian Farmer Date: Mon, 2 Jun 2008 05:53:32 +0000 Subject: [PATCH] Fix string.len (includes new tests.) --- src/core/org/luaj/lib/StringLib.java | 2 +- src/test/res/strlib.lua | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/core/org/luaj/lib/StringLib.java b/src/core/org/luaj/lib/StringLib.java index c4b711a0..ab04eec2 100644 --- a/src/core/org/luaj/lib/StringLib.java +++ b/src/core/org/luaj/lib/StringLib.java @@ -395,7 +395,7 @@ public class StringLib extends LFunction { * Embedded zeros are counted, so "a\000bc\000" has length 5. */ static void len( LuaState vm ) { - int l = vm.tostring(2).length(); + int l = vm.tolstring(2).length(); vm.resettop(); vm.pushinteger( l ); } diff --git a/src/test/res/strlib.lua b/src/test/res/strlib.lua index 5d4b929b..b2951955 100644 --- a/src/test/res/strlib.lua +++ b/src/test/res/strlib.lua @@ -68,3 +68,12 @@ t( 'abc' ) t( 'ab' ) t( 'a' ) t( '' ) + +print(string.len("Hello, world")) +print(#"Hello, world") +print(string.len("\0\0\0")) +print(#"\0\0\0") +print(string.len("\0\1\2\3")) +print(#"\0\1\2\3") +local s = "\194\161Hola!" +print(s, string.len(s), #s)