|
|
@ -1,5 +1,5 @@ |
|
|
|
/*
|
|
|
|
** $Id: lapi.c,v 2.254 2015/08/25 18:50:37 roberto Exp roberto $ |
|
|
|
** $Id: lapi.c,v 2.255 2015/09/09 13:45:50 roberto Exp roberto $ |
|
|
|
** Lua API |
|
|
|
** See Copyright Notice in lua.h |
|
|
|
*/ |
|
|
@ -472,15 +472,15 @@ LUA_API void lua_pushinteger (lua_State *L, lua_Integer n) { |
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
** Pushes on the stack a string with given length. Even when 'len' == 0, |
|
|
|
** 's' cannot be NULL due to later use of 'memcmp' and 'memcpy'. |
|
|
|
** Pushes on the stack a string with given length. Avoid using 's' when |
|
|
|
** 'len' == 0 (as 's' can be NULL in that case), due to later use of |
|
|
|
** 'memcmp' and 'memcpy'. |
|
|
|
*/ |
|
|
|
LUA_API const char *lua_pushlstring (lua_State *L, const char *s, size_t len) { |
|
|
|
TString *ts; |
|
|
|
lua_lock(L); |
|
|
|
luaC_checkGC(L); |
|
|
|
api_check(L, s != NULL, "pointer cannot be NULL"); |
|
|
|
ts = luaS_newlstr(L, s, len); |
|
|
|
ts = (len == 0) ? luaS_new(L, "") : luaS_newlstr(L, s, len); |
|
|
|
setsvalue2s(L, L->top, ts); |
|
|
|
api_incr_top(L); |
|
|
|
lua_unlock(L); |
|
|
|