[Overview][Constants][Types][Procedures and functions] | Reference for unit 'lua' (#pLua)

# lua_tolstring

## Declaration

Source position: lua.pas line 272

`function lua_tolstring(`
`L: Plua_State;`
`idx: Integer;`
`len: Psize_t`
`):PChar;`

## Description

Converts the Lua value at the given acceptable index to a C string. If len is not NULL, it also sets *len with the string length. The Lua value must be a string or a number; otherwise, the function returns NULL. If the value is a number, then lua_tolstring also changes the actual value in the stack to a string. (This change confuses lua_next when lua_tolstring is applied to keys during a table traversal.)
lua_tolstring returns a fully aligned pointer to a string inside the Lua state. This string always has a zero ('\0') after its last character (as in C), but may contain other zeros in its body. Because Lua has garbage collection, there is no guarantee that the pointer returned by lua_tolstring will be valid after the corresponding value is removed from the stack.