diff options
Diffstat (limited to 'epan')
-rwxr-xr-x | epan/wslua/make-taps.pl | 6 | ||||
-rw-r--r-- | epan/wslua/wslua_nstime.c | 12 |
2 files changed, 15 insertions, 3 deletions
diff --git a/epan/wslua/make-taps.pl b/epan/wslua/make-taps.pl index e2d6bd2c91..ef41ba8937 100755 --- a/epan/wslua/make-taps.pl +++ b/epan/wslua/make-taps.pl @@ -43,8 +43,8 @@ my %types = %{{ 'address' => '{ Address a = (Address)g_malloc(sizeof(address)); copy_address(a, &(v->STR)); pushAddress(L,a); }', 'address*' => '{ Address a = (Address)g_malloc(sizeof(address)); copy_address(a, v->STR); pushAddress(L,a); }', 'int' => 'lua_pushnumber(L,(lua_Number)v->STR);', - 'nstime_t' => '{ lua_Number t = (lua_Number) v->STR.secs; t += v->STR.nsecs * 1e-9; lua_pushnumber(L,t); }', - 'nstime_t*' => '{ lua_Number t = (lua_Number) v->STR->secs; t += v->STR->nsecs * 1e-9; lua_pushnumber(L,t); }', + 'nstime_t' => 'lua_pushnumber(L,(lua_Number)nstime_to_sec(&(v->STR)));', + 'nstime_t*' => 'lua_pushnumber(L,(lua_Number)nstime_to_sec(v->STR));' }}; my %comments = %{{ @@ -164,6 +164,8 @@ print CFILE <<"HEADER"; #include "wslua.h" +#include <wsutil/nstime.h> + HEADER print DOCFILE "\n"; diff --git a/epan/wslua/wslua_nstime.c b/epan/wslua/wslua_nstime.c index e04524151d..f0a87f0595 100644 --- a/epan/wslua/wslua_nstime.c +++ b/epan/wslua/wslua_nstime.c @@ -30,7 +30,7 @@ #include "config.h" #include "wslua.h" - +#include <wsutil/nstime.h> /* WSLUA_CONTINUE_MODULE Pinfo */ @@ -61,6 +61,15 @@ WSLUA_METAMETHOD NSTime__call(lua_State* L) { /* Creates a NSTime object. */ WSLUA_RETURN(NSTime_new(L)); /* The new NSTime object. */ } +WSLUA_METHOD NSTime_tonumber(lua_State* L) { + /* Returns a Lua number of the `NSTime` representing seconds from epoch + * @since 2.4.0 + * */ + NSTime nstime = checkNSTime(L,1); + lua_pushnumber(L, (lua_Number)nstime_to_sec(nstime)); + WSLUA_RETURN(1); /* The Lua number. */ +} + WSLUA_METAMETHOD NSTime__tostring(lua_State* L) { NSTime nstime = checkNSTime(L,1); gchar *str; @@ -174,6 +183,7 @@ WSLUA_ATTRIBUTES NSTime_attributes[] = { WSLUA_METHODS NSTime_methods[] = { WSLUA_CLASS_FNREG(NSTime,new), + WSLUA_CLASS_FNREG(NSTime,tonumber), { NULL, NULL } }; |