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);