summaryrefslogtreecommitdiff
path: root/feature-tests
diff options
context:
space:
mode:
authorPeter Bex <peter@more-magic.net>2024-09-12 18:53:44 +0200
committerPeter Bex <peter@more-magic.net>2024-09-12 19:12:52 +0200
commit1088b3244e9dd89404e6eea457727805b2fb2d89 (patch)
treea19232496aa8f5170cbd9000a355b765ee3c340d /feature-tests
parentc1a36cc2c67de45c4f6db6ecd2cc9102c5170ba2 (diff)
downloadchicken-postgresql-5.0.0.tar.gz
Port Postgres egg to CHICKEN 65.0.0
This has quite a few changes due to the low-level nature of this code: when the contents of a string get copied by C functions, we can't pass it to arguments of the scheme-pointer type directly anymore. Instead, strings are now wrapper objects which point to an internal (NUL-terminated!) bytevector. So not only do we have to extract this bytevector and pass it to these C functions, but we also need to calculate the string length excluding the NUL terminator. This creates a bit more branching in the code to get the thing to copy and length. The nice thing is that we no longer need to append NUL bytes to strings in a few places. Instead, we can just pass the raw bytevector to the C functions, which means this should be rather faster now.
Diffstat (limited to 'feature-tests')
0 files changed, 0 insertions, 0 deletions