aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2018-12-27 14:19:53 -0200
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2018-12-27 14:19:53 -0200
commitda37ac9c7894186a0e2e0e6f1f5f00b825fd1555 (patch)
tree1517d929465415e6b6db24617778cc5f0bbf3c5d
parent662506476b3b9bf651de064884a00c8dbce6e281 (diff)
downloadlua-da37ac9c7894186a0e2e0e6f1f5f00b825fd1555.tar.gz
lua-da37ac9c7894186a0e2e0e6f1f5f00b825fd1555.tar.bz2
lua-da37ac9c7894186a0e2e0e6f1f5f00b825fd1555.zip
Detail
Slightly better error message for invalid conversions in 'string.format'.
-rw-r--r--lstrlib.c3
-rw-r--r--testes/strings.lua2
2 files changed, 2 insertions, 3 deletions
diff --git a/lstrlib.c b/lstrlib.c
index e9c60c0f..dde868c0 100644
--- a/lstrlib.c
+++ b/lstrlib.c
@@ -1180,8 +1180,7 @@ static int str_format (lua_State *L) {
1180 break; 1180 break;
1181 } 1181 }
1182 default: { /* also treat cases 'pnLlh' */ 1182 default: { /* also treat cases 'pnLlh' */
1183 return luaL_error(L, "invalid option '%%%c' to 'format'", 1183 return luaL_error(L, "invalid conversion '%s' to 'format'", form);
1184 *(strfrmt - 1));
1185 } 1184 }
1186 } 1185 }
1187 lua_assert(nb < MAX_ITEM); 1186 lua_assert(nb < MAX_ITEM);
diff --git a/testes/strings.lua b/testes/strings.lua
index 1260dbcc..587a0e06 100644
--- a/testes/strings.lua
+++ b/testes/strings.lua
@@ -302,7 +302,7 @@ check("%100.3d", "too long")
302check("%1"..aux..".3d", "too long") 302check("%1"..aux..".3d", "too long")
303check("%1.100d", "too long") 303check("%1.100d", "too long")
304check("%10.1"..aux.."004d", "too long") 304check("%10.1"..aux.."004d", "too long")
305check("%t", "invalid option") 305check("%t", "invalid conversion")
306check("%"..aux.."d", "repeated flags") 306check("%"..aux.."d", "repeated flags")
307check("%d %d", "no value") 307check("%d %d", "no value")
308 308