[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Acceptable indicies
- From: liam mail <liam.list@...>
- Date: Wed, 31 Aug 2011 16:58:00 +0100
On 31 August 2011 16:49, Sean Conner <sean@conman.org> wrote:
> It was thus said that the Great Sean Conner once stated:
>> It was thus said that the Great oliver once stated:
>> >
>> > Programmers make mistakes when using library functions/methods, utility or
>> > not. For optimal productivity, a library should assert its preconditions, at
>> > least in debug build. It is an error *not* to check. Since some of us have
>> > to (for variety of reasons) use pre-built release-mode Lua DLL, where
>> > preconditions are therefore not asserted, and given that the
>> > "is-acceptable-index" formula is not trivial, and that this precondition is
>> > so prevalent in Lua lib, there should at least be a Lua lib function that
>> > allows to validate stack indices.
>>
>> I think you gave the solution in another email---lua_gettop()! Here:
>>
>> int mylua_isacceptable(lua_State *L,int idx)
>> {
>> return abs(idx) <= lua_gettop(L);
>> }
>>
>> -spc (Or am I missing something?)
>
> Okay, in re-reading the thread, I see I am missing something. Oliver
> wants to check that an index is acceptable and thus, feels the need to know
> the physical size of the stack at that instance, instead of the current top
> of the stack.
>
> But in thinking about it, the code above is what you really want. If you
> (as programmer) are trying to access stack entries you know nothing about
> (outside of lua_gettop()) then you are doing something wrong, regardless of
> the size of the stack (but I am willing to conceed that this issue has never
> bitten me, probably because of all my years of programming in assembly,
> where one is working with a raw, system controlled, stack).
>
> -spc
>
>
>
luaL_optint(L,2,0) on a stack which has one entry would therefore be
an error and not a valid request using the function you posted
previously with the incorrect name 'mylua_isacceptable'
Liam
- References:
- Re: Acceptable indicies, Robert Raschke
- Re: Acceptable indicies, Robert Raschke
- Re: Acceptable indicies, oliver
- Re: Acceptable indicies, Robert Raschke
- Re: Acceptable indicies, oliver
- Re: Acceptable indicies, Josh Simmons
- Re: Acceptable indicies, oliver
- Re: Acceptable indicies, Josh Simmons
- Re: Acceptable indicies, oliver
- Re: Acceptable indicies, Sean Conner
- Re: Acceptable indicies, Sean Conner