mirror of
https://github.com/nmap/nmap.git
synced 2025-12-06 12:41:29 +00:00
Lua 5.3 adds several awesome features of particular interest to nmap including bitwise operators and integers, a utf8 library, and standard binary pack/unpack functions. In addition to adding Lua 5.3, this branch changes: o Complete removal of the NSE bit library (in C), It has been replaced with a new Lua library wrapping Lua 5.3's bit-wise operators. o Complete removal of the NSE bin library (in C). It has been replaced with a new Lua library wrapping Lua 5.3's string.pack|unpack functions. o The bin.pack "B" format specifier (which has never worked correctly) is unimplemented. All scripts/libraries which use it have been updated. Most usage of this option was to allow string based bit-wise operations which are no longer necessary now that Lua 5.3 provides integers and bit-wise operators. o The base32/base64 libraries have been reimplemented using Lua 5.3's new bitwise operators. (This library was the main user of the bin.pack "B" format specifier.) o A new "bits" library has been added for common bit hacks. Currently only has a reverse function. Thanks to David Fifield, Daniel Miller, Jacek Wielemborek, and Paulino Calderon for testing this branch.
25 lines
541 B
C
25 lines
541 B
C
/*
|
|
** $Id: lapi.h,v 2.9 2015/03/06 19:49:50 roberto Exp $
|
|
** Auxiliary functions from Lua API
|
|
** See Copyright Notice in lua.h
|
|
*/
|
|
|
|
#ifndef lapi_h
|
|
#define lapi_h
|
|
|
|
|
|
#include "llimits.h"
|
|
#include "lstate.h"
|
|
|
|
#define api_incr_top(L) {L->top++; api_check(L, L->top <= L->ci->top, \
|
|
"stack overflow");}
|
|
|
|
#define adjustresults(L,nres) \
|
|
{ if ((nres) == LUA_MULTRET && L->ci->top < L->top) L->ci->top = L->top; }
|
|
|
|
#define api_checknelems(L,n) api_check(L, (n) < (L->top - L->ci->func), \
|
|
"not enough elements in the stack")
|
|
|
|
|
|
#endif
|