From 48ccb60cb4c0d31a95a1342d7caed9c4e2775d17 Mon Sep 17 00:00:00 2001 From: DieMyst Date: Sat, 17 Aug 2019 20:36:44 +0300 Subject: [PATCH] fix crossmodule --- assembly/__tests__/crossmodule.spec.ts | 4 ++-- assembly/index.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/assembly/__tests__/crossmodule.spec.ts b/assembly/__tests__/crossmodule.spec.ts index 421422b..3507128 100644 --- a/assembly/__tests__/crossmodule.spec.ts +++ b/assembly/__tests__/crossmodule.spec.ts @@ -16,7 +16,7 @@ class SelfAPI extends API { store(resultPtr + i, b); } - for (let i = 4; i < strLen + 3; i++) { + for (let i = 4; i < strLen + 4; i++) { store(resultPtr + i, strBuf[i - 4]); } @@ -46,7 +46,7 @@ class SelfAPI extends API { describe("crossmodule", () => { it("input should be equal to output", () => { let stringInvoker = new StringInvoke(SelfAPI.getApi()); - let request = "some request hello"; + let request = "very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string vvery long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string very long string v"; let response = stringInvoker.invoke(request); log("request: " + request); diff --git a/assembly/index.ts b/assembly/index.ts index 2a0d9ef..9672356 100644 --- a/assembly/index.ts +++ b/assembly/index.ts @@ -50,7 +50,7 @@ export class ByteInvoke { } getBytes(remotePtr: i32): Uint8Array { - let lenBytes: u8[] = new Array(4); + let lenBytes: i32[] = new Array(4); for (let i = 0; i < 4; i++) { lenBytes[i] = this.api.load(remotePtr + i); } @@ -58,7 +58,7 @@ export class ByteInvoke { let resultLen: i32 = 0; for (let i = 0; i < 4; i++) { - resultLen = resultLen | (lenBytes[i] << (8*(i - 4) as u8)) + resultLen = resultLen | (lenBytes[i] << ((8*i) as u8)) } let resultBytes = new Uint8Array(resultLen);