summaryrefslogtreecommitdiffstats
path: root/tests/002/proc/2691/task/2710
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2025-02-13 18:32:48 +0000
committerKaz Kylheku <kaz@kylheku.com>2025-02-13 18:32:48 +0000
commita6be8523d564722a1ee3b3b1b21a2f9c78ba3210 (patch)
tree5322af773bec1823c679d1303e4126322dac18dc /tests/002/proc/2691/task/2710
parent08aa8ffdfb59fd9bdec686d416357958167dad8f (diff)
downloadtxr-a6be8523d564722a1ee3b3b1b21a2f9c78ba3210.tar.gz
txr-a6be8523d564722a1ee3b3b1b21a2f9c78ba3210.tar.bz2
txr-a6be8523d564722a1ee3b3b1b21a2f9c78ba3210.zip
ffi: big endian: broken int8 and uint8 return values.
* ffi.c (ffi_i8_rput, ffi_i8_rget, ffi_u8_rput, ffi_u8_rget): These functions are not doing the correct job; they are just casting the pointer to the target type, like on little endian. The big endian rget must fetch the entire 64 bit word (ffi_arg) and convert its value to the target type. If it's a character value, the actual bits are found at *(src + 7) not at *src. The rput function must do the reverse; convert the value to the 64 bit ffi_arg and store that.
Diffstat (limited to 'tests/002/proc/2691/task/2710')
0 files changed, 0 insertions, 0 deletions