Skip to content

Pass a size_t to MEOS as a BigInt - #29

Merged
estebanzimanyi merged 1 commit into
MobilityDB:mainfrom
estebanzimanyi:fix/size-t-bigint
Oct 31, 2026
Merged

estebanzimanyi merged 1 commit into
MobilityDB:mainfrom
estebanzimanyi:fix/size-t-bigint

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

size_t, ssize_t and uintptr_t are pointer-sized, so 64-bit in the wasm64
module, and ccall passes a 64-bit argument as a BigInt: a size_t sent as a
number makes ccall throw "Cannot convert 20 to a BigInt". The generator
types them as the 64-bit integers it already passes and returns as BigInt,
so the 29 wrappers that take or return one, the 17 *_from_wkb readers
among them, reach MEOS. The wrappers are regenerated from the catalog of
MobilityDB master 7de78631f5: 4053 wrappers, none skipped and none
duplicated.

size_t, ssize_t and uintptr_t are pointer-sized, so 64-bit in the wasm64
module, and ccall passes a 64-bit argument as a BigInt: a size_t sent as a
number makes ccall throw "Cannot convert 20 to a BigInt". The generator
types them as the 64-bit integers it already passes and returns as BigInt,
so the 29 wrappers that take or return one, the 17 *_from_wkb readers
among them, reach MEOS. The wrappers are regenerated from the catalog of
MobilityDB master 7de78631f5: 4053 wrappers, none skipped and none
duplicated.
@estebanzimanyi
estebanzimanyi merged commit a23eb5b into MobilityDB:main Oct 31, 2026
3 checks passed
@estebanzimanyi
estebanzimanyi deleted the fix/size-t-bigint branch October 31, 2026 18:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant