From fe3e40bfe712e26430805ee2a8e83d68833049ba Mon Sep 17 00:00:00 2001 From: Thomas Darimont Date: Thu, 4 Apr 2024 17:10:04 +0200 Subject: [PATCH] fix: remove usage of platform dependent strlen (#21) Signed-off-by: Thomas Darimont --- src/main/java/org/extism/sdk/LibExtism.java | 1 - src/main/java/org/extism/sdk/Plugin.java | 11 +++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/extism/sdk/LibExtism.java b/src/main/java/org/extism/sdk/LibExtism.java index 8d3fb99..78523f1 100644 --- a/src/main/java/org/extism/sdk/LibExtism.java +++ b/src/main/java/org/extism/sdk/LibExtism.java @@ -169,5 +169,4 @@ Pointer extism_function_new(String name, Pointer extism_plugin_cancel_handle(Pointer pluginPointer); boolean extism_plugin_cancel(Pointer cancelHandle); void extism_function_set_namespace(Pointer p, String name); - int strlen(Pointer s); } diff --git a/src/main/java/org/extism/sdk/Plugin.java b/src/main/java/org/extism/sdk/Plugin.java index 70edda0..df61256 100644 --- a/src/main/java/org/extism/sdk/Plugin.java +++ b/src/main/java/org/extism/sdk/Plugin.java @@ -42,15 +42,14 @@ public Plugin(byte[] manifestBytes, boolean withWASI, HostFunction[] functions) withWASI, errormsg); if (p == null) { - if (functions != null) + if (functions != null) { for (int i = 0; i < functions.length; i++) { - LibExtism.INSTANCE.extism_function_free(functions[i].pointer); + LibExtism.INSTANCE.extism_function_free(functions[i].pointer); } - int errlen = LibExtism.INSTANCE.strlen(errormsg[0]); - byte[] msg = new byte[errlen]; - errormsg[0].read(0, msg, 0, errlen); + } + String msg = errormsg[0].getString(0); LibExtism.INSTANCE.extism_plugin_new_error_free(errormsg[0]); - throw new ExtismException(new String(msg)); + throw new ExtismException(msg); } this.functions = functions;