From 6152973f9c8a263de4c28d635f76a4e15fb6d297 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Sun, 31 May 1998 19:20:45 -0300 Subject: new names for 'ascii' ('strbyte') and 'int2str' ('strchar') --- lstrlib.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/lstrlib.c b/lstrlib.c index 4117f2e1..a42a6118 100644 --- a/lstrlib.c +++ b/lstrlib.c @@ -1,5 +1,5 @@ /* -** $Id: lstrlib.c,v 1.12 1998/03/24 20:14:25 roberto Exp roberto $ +** $Id: lstrlib.c,v 1.13 1998/05/18 22:21:55 roberto Exp roberto $ ** Standard library for strings and pattern-matching ** See Copyright Notice in lua.h */ @@ -92,7 +92,7 @@ static void str_rep (void) } -static void str_ascii (void) +static void str_byte (void) { long l; char *s = luaL_check_lstr(1, &l); @@ -101,12 +101,14 @@ static void str_ascii (void) lua_pushnumber((unsigned char)s[pos-1]); } -static void str_int2str (void) -{ +static void str_char (void) { int i = 0; luaL_resetbuffer(); - while (lua_getparam(++i) != LUA_NOOBJECT) - luaL_addchar((int)luaL_check_number(i)); + while (lua_getparam(++i) != LUA_NOOBJECT) { + double c = luaL_check_number(i); + luaL_arg_check((unsigned char)c == c, i, "invalid value"); + luaL_addchar((int)c); + } closeandpush(); } @@ -518,9 +520,10 @@ static struct luaL_reg strlib[] = { {"strsub", str_sub}, {"strlower", str_lower}, {"strupper", str_upper}, -{"int2str", str_int2str}, +{"strchar", str_char}, {"strrep", str_rep}, -{"ascii", str_ascii}, +{"ascii", str_byte}, /* for compatibility */ +{"strbyte", str_byte}, {"format", str_format}, {"strfind", str_find}, {"gsub", str_gsub} -- cgit v1.2.3-55-g6feb