1dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com/*
2dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com** $Id: lapi.h,v 2.7 2009/11/27 15:37:59 roberto Exp $
3dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com** Auxiliary functions from Lua API
4dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com** See Copyright Notice in lua.h
5dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com*/
6dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com
7dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com#ifndef lapi_h
8dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com#define lapi_h
9dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com
10dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com
11dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com#include "llimits.h"
12dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com#include "lstate.h"
13dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com
14dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com#define api_incr_top(L)   {L->top++; api_check(L, L->top <= L->ci->top, \
15dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com				"stack overflow");}
16dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com
17dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com#define adjustresults(L,nres) \
18dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com    { if ((nres) == LUA_MULTRET && L->ci->top < L->top) L->ci->top = L->top; }
19dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com
20dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com#define api_checknelems(L,n)	api_check(L, (n) < (L->top - L->ci->func), \
21dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com				  "not enough elements in the stack")
22dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com
23dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com
24dff7e11c2000d6745261de046d76b1500a05ece9reed@google.com#endif
25