Skip to content

Commit 16d5088

Browse files
authored
Merge pull request #1884 from hermit-os/sys-io-errno
fix: set errno on appropriate new syscalls
2 parents a3daf8f + 968f4bc commit 16d5088

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/syscalls/mod.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,7 @@ pub unsafe extern "C" fn sys_getcwd(buf: *mut c_char, size: usize) -> *const c_c
386386
buf
387387
}
388388

389-
#[hermit_macro::system]
389+
#[hermit_macro::system(errno)]
390390
#[unsafe(no_mangle)]
391391
pub unsafe extern "C" fn sys_chdir(path: *mut c_char) -> i32 {
392392
if let Ok(name) = unsafe { CStr::from_ptr(path) }.to_str() {
@@ -443,7 +443,7 @@ pub unsafe extern "C" fn sys_faccessat(
443443
}
444444
}
445445

446-
#[hermit_macro::system]
446+
#[hermit_macro::system(errno)]
447447
#[unsafe(no_mangle)]
448448
pub unsafe extern "C" fn sys_access(name: *const c_char, flags: i32) -> i32 {
449449
let Some(access_option) = AccessOption::from_bits(flags) else {
@@ -465,7 +465,7 @@ pub unsafe extern "C" fn sys_access(name: *const c_char, flags: i32) -> i32 {
465465
}
466466
}
467467

468-
#[hermit_macro::system]
468+
#[hermit_macro::system(errno)]
469469
#[unsafe(no_mangle)]
470470
pub unsafe extern "C" fn sys_fchmod(fd: FileDescriptor, mode: u32) -> i32 {
471471
let Some(access_permission) = AccessPermission::from_bits(mode) else {
@@ -477,7 +477,7 @@ pub unsafe extern "C" fn sys_fchmod(fd: FileDescriptor, mode: u32) -> i32 {
477477
.unwrap_or_else(|e| -i32::from(e))
478478
}
479479

480-
#[hermit_macro::system]
480+
#[hermit_macro::system(errno)]
481481
#[unsafe(no_mangle)]
482482
pub extern "C" fn sys_close(fd: FileDescriptor) -> i32 {
483483
let obj = remove_object(fd);
@@ -557,13 +557,13 @@ pub unsafe extern "C" fn sys_write(fd: FileDescriptor, buf: *const u8, len: usiz
557557
unsafe { write(fd, buf, len) }
558558
}
559559

560-
#[hermit_macro::system]
560+
#[hermit_macro::system(errno)]
561561
#[unsafe(no_mangle)]
562562
pub unsafe extern "C" fn sys_ftruncate(fd: FileDescriptor, size: usize) -> i32 {
563563
fd::truncate(fd, size).map_or_else(|e| -i32::from(e), |()| 0)
564564
}
565565

566-
#[hermit_macro::system]
566+
#[hermit_macro::system(errno)]
567567
#[unsafe(no_mangle)]
568568
pub unsafe extern "C" fn sys_truncate(path: *const c_char, size: usize) -> i32 {
569569
let Ok(path) = unsafe { CStr::from_ptr(path) }.to_str() else {

0 commit comments

Comments
 (0)