fix sendmessage

This commit is contained in:
2026-02-25 15:26:20 -06:00
parent 327b990442
commit bb7997a751
2 changed files with 5 additions and 6 deletions

View File

@@ -1152,17 +1152,16 @@ JSValue CELL_USE_NAME(JSContext *js) { \
JSValue CELL_USE_NAME(JSContext *js) { do { c ; } while(0); } JSValue CELL_USE_NAME(JSContext *js) { do { c ; } while(0); }
/* ============================================================ /* ============================================================
WOTA Message Sending — C modules can send messages to actors WOTA Message Sending — C modules can send messages to actors.
without needing a JSContext.
============================================================ */ ============================================================ */
/* Check whether an actor with the given ID exists. */ /* Check whether an actor with the given ID exists. */
int JS_ActorExists(const char *actor_id); int JS_ActorExists(const char *actor_id);
/* Send a WOTA-encoded message to an actor by ID. /* Send a WOTA-encoded message to the actor that owns ctx.
Takes ownership of wb's data on success (caller must not free). Takes ownership of wb's data on success (caller must not free).
On failure returns an error string; caller must free wb. */ On failure returns an error string; caller must free wb. */
const char *JS_SendMessage(const char *actor_id, WotaBuffer *wb); const char *JS_SendMessage(JSContext *ctx, WotaBuffer *wb);
#undef js_unlikely #undef js_unlikely
#undef inline #undef inline

View File

@@ -1060,7 +1060,7 @@ int JS_ActorExists(const char *actor_id)
return actor_exists(actor_id); return actor_exists(actor_id);
} }
const char *JS_SendMessage(const char *actor_id, WotaBuffer *wb) const char *JS_SendMessage(JSContext *ctx, WotaBuffer *wb)
{ {
if (!wb || !wb->data || wb->size == 0) if (!wb || !wb->data || wb->size == 0)
return "Empty WOTA buffer"; return "Empty WOTA buffer";
@@ -1072,7 +1072,7 @@ const char *JS_SendMessage(const char *actor_id, WotaBuffer *wb)
blob_write_bytes(msg, wb->data, byte_len); blob_write_bytes(msg, wb->data, byte_len);
blob_make_stone(msg); blob_make_stone(msg);
const char *err = send_message(actor_id, msg); const char *err = send_message(ctx->id, msg);
if (!err) { if (!err) {
/* Success — send_message took ownership of the blob. /* Success — send_message took ownership of the blob.
Free the WotaBuffer internals since we consumed them. */ Free the WotaBuffer internals since we consumed them. */