From 2a521b5b86a5d3a77c4e6db1688f89cd72d4bfdf Mon Sep 17 00:00:00 2001 From: bunnie Date: Sun, 10 Dec 2023 12:53:50 +0800 Subject: [PATCH] fix stdseek to match std word ordering --- services/pddb/src/main.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/pddb/src/main.rs b/services/pddb/src/main.rs index 49b4f83fb..a4dcf20d0 100644 --- a/services/pddb/src/main.rs +++ b/services/pddb/src/main.rs @@ -1735,7 +1735,8 @@ fn wrapped_main() -> ! { Opcode::SeekKeyStd => { let fd = (msg.body.id() >> 16) & 0xffff; if let Some(scalar) = msg.body.scalar_message() { - let seek_by = (((scalar.arg2 as u32) as u64) << 32) | ((scalar.arg3 as u32) as u64); + // NOTE: endian swap for compatibility with `std` + let seek_by = (((scalar.arg3 as u32) as u64) << 32) | ((scalar.arg2 as u32) as u64); let result = libstd::seek_key(scalar.arg1, seek_by, fd_mapping.entry(msg.sender.pid()).or_default(), fd); if msg.body.is_blocking() { match result {