[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Checking for nil in C
- From: Paul Beckingham <paul@...>
- Date: Mon, 18 Jan 2010 19:44:40 -0500
I am calling a Lua function from C. That function looks like this:
function foo ()
-- stuff omitted
return 1, nil
end
foo returns two values, an integer and a string (or nil). In the C code, I want to check to see if the second value is nil or a string. Here is what I thought I needed:
// the Lua code above is loaded.
lua_getglobal (L, "foo");
lua_pcall (L, 0, 2, 0);
if (! lua_isnumber (L, -2))
// foo did not return a number
if (! lua_isstring (L, -1))
// foo did not return a string
The nil value is failing the lua_isstring test, presumably because nil is not a string. How do I check for nil, otherwise a string?
Thanks.
Paul.