From 24d97b3b34f899591ecf4a7ab29a748dcc439fac Mon Sep 17 00:00:00 2001 From: Bryan Roe Date: Fri, 11 Jan 2019 12:22:57 -0800 Subject: [PATCH] Added GetBuffer helper --- microscript/ILibDuktape_Helpers.c | 11 +++++++++++ microscript/ILibDuktape_Helpers.h | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/microscript/ILibDuktape_Helpers.c b/microscript/ILibDuktape_Helpers.c index 2a33007..b622295 100644 --- a/microscript/ILibDuktape_Helpers.c +++ b/microscript/ILibDuktape_Helpers.c @@ -97,6 +97,17 @@ void *Duktape_GetHeapptrProperty(duk_context *ctx, duk_idx_t i, char* propertyNa } return retVal; } +void *Duktape_GetBufferProperty(duk_context *ctx, duk_idx_t i, char* propertyName) +{ + void *retVal = NULL; + if (duk_has_prop_string(ctx, i, propertyName)) + { + duk_get_prop_string(ctx, i, propertyName); // [prop] + retVal = (void*)Duktape_GetBuffer(ctx, -1, NULL); + duk_pop(ctx); // ... + } + return(retVal); +} void *Duktape_GetPointerProperty(duk_context *ctx, duk_idx_t i, char* propertyName) { void *retVal = NULL; diff --git a/microscript/ILibDuktape_Helpers.h b/microscript/ILibDuktape_Helpers.h index afffad0..4a7f3b3 100644 --- a/microscript/ILibDuktape_Helpers.h +++ b/microscript/ILibDuktape_Helpers.h @@ -28,7 +28,6 @@ typedef void(*ILibDuktape_HelperEvent)(duk_context *ctx, void *user); #define ILibDuktape_NativeUncaughtExceptionUserPtr "\xFF_NativeUncaughtExceptionUserPtr" #define ILibDuktape_MeshAgent_Cert_NonLeaf "\xFF_selfcert" -#define ILibDuktape_MeshAgent_Cert_Client "\xFF_selftlsclientcert" #define ILibDuktape_MeshAgent_Cert_Server "\xFF_selftlscert" #define CONTEXT_GUID_BUFFER "_CONTEXT_GUID" #define ILibDuktape_Context_Chain "\xFF_chainptr" @@ -58,6 +57,7 @@ char* Duktape_GetStringPropertyValueEx(duk_context *ctx, duk_idx_t i, char* prop int Duktape_GetIntPropertyValue(duk_context *ctx, duk_idx_t i, char* propertyName, int defaultValue); void *Duktape_GetPointerProperty(duk_context *ctx, duk_idx_t i, char* propertyName); void *Duktape_GetHeapptrProperty(duk_context *ctx, duk_idx_t i, char* propertyName); +void *Duktape_GetBufferProperty(duk_context *ctx, duk_idx_t i, char* propertyName); int Duktape_GetBooleanProperty(duk_context *ctx, duk_idx_t i, char *propertyName, int defaultValue); struct sockaddr_in6* Duktape_IPAddress4_FromString(char* address, unsigned short port); struct sockaddr_in6* Duktape_IPAddress6_FromString(char* address, unsigned short port);