From 665f3b63646b47de66e7813cf89986b032a17ef5 Mon Sep 17 00:00:00 2001 From: Phil Hagelberg Date: Fri, 10 Jul 2020 17:14:16 -0700 Subject: [PATCH] Fix bug where tostring("-") evaluates to zero instead of nil. Fixes #6, fix by Alex Fowler --- src/core/org/luaj/vm2/LuaString.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/core/org/luaj/vm2/LuaString.java b/src/core/org/luaj/vm2/LuaString.java index 08c1022b..471c3a4c 100644 --- a/src/core/org/luaj/vm2/LuaString.java +++ b/src/core/org/luaj/vm2/LuaString.java @@ -794,6 +794,10 @@ public class LuaString extends LuaValue { private double scanlong( int base, int start, int end ) { long x = 0; boolean neg = (m_bytes[start] == '-'); + if(neg && m_bytes.length == 1) { + // this is only a '-' sign, no parsing any number is required + return Double.NaN; + } for ( int i=(neg?start+1:start); i='0'&&m_bytes[i]<='9')? '0': m_bytes[i]>='A'&&m_bytes[i]<='Z'? ('A'-10): ('a'-10));