koffi 1.3.10 → 1.3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/ChangeLog.md +6 -0
  2. package/build/qemu/1.3.11/koffi_darwin_arm64.tar.gz +0 -0
  3. package/build/qemu/1.3.11/koffi_darwin_x64.tar.gz +0 -0
  4. package/build/qemu/1.3.11/koffi_freebsd_arm64.tar.gz +0 -0
  5. package/build/qemu/1.3.11/koffi_freebsd_ia32.tar.gz +0 -0
  6. package/build/qemu/1.3.11/koffi_freebsd_x64.tar.gz +0 -0
  7. package/build/qemu/1.3.11/koffi_linux_arm32hf.tar.gz +0 -0
  8. package/build/qemu/1.3.11/koffi_linux_arm64.tar.gz +0 -0
  9. package/build/qemu/1.3.11/koffi_linux_ia32.tar.gz +0 -0
  10. package/build/qemu/1.3.11/koffi_linux_riscv64hf64.tar.gz +0 -0
  11. package/build/qemu/1.3.11/koffi_linux_x64.tar.gz +0 -0
  12. package/build/qemu/1.3.11/koffi_openbsd_ia32.tar.gz +0 -0
  13. package/build/qemu/1.3.11/koffi_openbsd_x64.tar.gz +0 -0
  14. package/build/qemu/1.3.11/koffi_win32_arm64.tar.gz +0 -0
  15. package/build/qemu/1.3.11/koffi_win32_ia32.tar.gz +0 -0
  16. package/build/qemu/1.3.11/koffi_win32_x64.tar.gz +0 -0
  17. package/package.json +1 -1
  18. package/src/parser.cc +2 -1
  19. package/test/misc.c +1 -1
  20. package/test/sync.js +2 -2
  21. package/build/qemu/1.3.10/koffi_darwin_arm64.tar.gz +0 -0
  22. package/build/qemu/1.3.10/koffi_darwin_x64.tar.gz +0 -0
  23. package/build/qemu/1.3.10/koffi_freebsd_arm64.tar.gz +0 -0
  24. package/build/qemu/1.3.10/koffi_freebsd_ia32.tar.gz +0 -0
  25. package/build/qemu/1.3.10/koffi_freebsd_x64.tar.gz +0 -0
  26. package/build/qemu/1.3.10/koffi_linux_arm32hf.tar.gz +0 -0
  27. package/build/qemu/1.3.10/koffi_linux_arm64.tar.gz +0 -0
  28. package/build/qemu/1.3.10/koffi_linux_ia32.tar.gz +0 -0
  29. package/build/qemu/1.3.10/koffi_linux_riscv64hf64.tar.gz +0 -0
  30. package/build/qemu/1.3.10/koffi_linux_x64.tar.gz +0 -0
  31. package/build/qemu/1.3.10/koffi_openbsd_ia32.tar.gz +0 -0
  32. package/build/qemu/1.3.10/koffi_openbsd_x64.tar.gz +0 -0
  33. package/build/qemu/1.3.10/koffi_win32_arm64.tar.gz +0 -0
  34. package/build/qemu/1.3.10/koffi_win32_ia32.tar.gz +0 -0
  35. package/build/qemu/1.3.10/koffi_win32_x64.tar.gz +0 -0
package/ChangeLog.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## Koffi 1.3.11
4
+
5
+ **Main fixes:**
6
+
7
+ - Fix broken parsing of `void *` when used for first parameter
8
+
3
9
  ## Koffi 1.3.10
4
10
 
5
11
  **Main fixes:**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "koffi",
3
- "version": "1.3.10",
3
+ "version": "1.3.11",
4
4
  "description": "Fast and simple C FFI (foreign function interface) for Node.js",
5
5
  "keywords": [
6
6
  "foreign",
package/src/parser.cc CHANGED
@@ -44,7 +44,8 @@ bool PrototypeParser::Parse(const char *str, FunctionInfo *out_func)
44
44
  out_func->name = ParseIdentifier();
45
45
 
46
46
  Consume("(");
47
- if (offset < tokens.len && tokens[offset] != ")" && !Match("void")) {
47
+ offset += (offset + 1 < tokens.len && tokens[offset] == "void" && tokens[offset + 1] == ")");
48
+ if (offset < tokens.len && tokens[offset] != ")") {
48
49
  for (;;) {
49
50
  ParameterInfo param = {};
50
51
 
package/test/misc.c CHANGED
@@ -158,7 +158,7 @@ EXPORT int32_t GetMinusOne4(void)
158
158
  return -1;
159
159
  }
160
160
 
161
- EXPORT int64_t GetMinusOne8(void)
161
+ EXPORT int64_t GetMinusOne8(void *dummy)
162
162
  {
163
163
  return -1;
164
164
  }
package/test/sync.js CHANGED
@@ -130,7 +130,7 @@ async function test() {
130
130
  const GetMinusOne1 = lib.func('int8_t GetMinusOne1(void)');
131
131
  const GetMinusOne2 = lib.func('int16_t GetMinusOne2(void)');
132
132
  const GetMinusOne4 = lib.func('int32_t GetMinusOne4(void)');
133
- const GetMinusOne8 = lib.func('int64_t GetMinusOne8(void)');
133
+ const GetMinusOne8 = lib.func('int64_t GetMinusOne8(void *dummy)');
134
134
  const FillPack1 = lib.func('FillPack1', 'void', ['int', koffi.out(koffi.pointer(Pack1))]);
135
135
  const RetPack1 = lib.func('RetPack1', Pack1, ['int']);
136
136
  const AddPack1 = lib.fastcall('AddPack1', 'void', ['int', koffi.inout(koffi.pointer(Pack1))]);
@@ -187,7 +187,7 @@ async function test() {
187
187
  assert.equal(GetMinusOne1(), -1);
188
188
  assert.equal(GetMinusOne2(), -1);
189
189
  assert.equal(GetMinusOne4(), -1);
190
- assert.equal(GetMinusOne8(), -1);
190
+ assert.equal(GetMinusOne8(null), -1);
191
191
 
192
192
  // Simple tests with Pack1
193
193
  {