From b98f537f117b341788023ab82e0c11ca9ae29a57 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 3 Apr 2023 17:21:35 +0200 Subject: [PATCH] Kernel+Userland: Make some of the POSIX types larger Expand the following types from 32-bit to 64-bit: - blkcnt_t - blksize_t - dev_t - nlink_t - suseconds_t - clock_t This matches their size on other 64-bit systems. --- Kernel/API/POSIX/sys/types.h | 12 ++++++------ Kernel/API/Syscall.h | 2 +- Userland/Utilities/ls.cpp | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Kernel/API/POSIX/sys/types.h b/Kernel/API/POSIX/sys/types.h index e30be11b674..1d2a43b0f61 100644 --- a/Kernel/API/POSIX/sys/types.h +++ b/Kernel/API/POSIX/sys/types.h @@ -38,16 +38,16 @@ typedef int id_t; typedef uint64_t ino_t; typedef int64_t off_t; -typedef uint32_t blkcnt_t; -typedef uint32_t blksize_t; -typedef uint32_t dev_t; +typedef uint64_t blkcnt_t; +typedef uint64_t blksize_t; +typedef uint64_t dev_t; typedef uint16_t mode_t; -typedef uint32_t nlink_t; +typedef uint64_t nlink_t; typedef int64_t time_t; typedef uint32_t useconds_t; -typedef int32_t suseconds_t; -typedef uint32_t clock_t; +typedef int64_t suseconds_t; +typedef uint64_t clock_t; typedef uint64_t fsblkcnt_t; typedef uint64_t fsfilcnt_t; diff --git a/Kernel/API/Syscall.h b/Kernel/API/Syscall.h index 307915b575b..f86cf7788ce 100644 --- a/Kernel/API/Syscall.h +++ b/Kernel/API/Syscall.h @@ -416,7 +416,7 @@ struct SC_chown_params { struct SC_mknod_params { StringArgument path; u16 mode; - u32 dev; + dev_t dev; }; struct SC_symlink_params { diff --git a/Userland/Utilities/ls.cpp b/Userland/Utilities/ls.cpp index cc656e84474..2dc62560a5d 100644 --- a/Userland/Utilities/ls.cpp +++ b/Userland/Utilities/ls.cpp @@ -337,7 +337,7 @@ static bool print_filesystem_object(DeprecatedString const& path, DeprecatedStri else printf("%c", st.st_mode & S_IXOTH ? 'x' : '-'); - printf(" %3u", st.st_nlink); + printf(" %3lu", st.st_nlink); auto username = users.get(st.st_uid); if (!flag_print_numeric && username.has_value()) {