CeDOS - Commit f4196adb

fix: fat: Fix some type discrepencies Signed-off-by: Celina Sophie Kalus <hello@celinakalus.de>
Celina Sophie Kalus
Fri, 06 Jun 2025 16:13:20 +0200
5 files changed, 15 insertions(+), 15 deletions(-)
M common/string.hcommon/string.h

@@ -18,6 +18,7 @@ /*!

* Unsigned integral type. */ typedef uint32_t size_t; +typedef int64_t ssize_t; /*! * Copies a block of memory.
M kernel/fat.ckernel/fat.c

@@ -79,11 +79,10 @@ }

} } -uint32_t FAT_read(file_t *file, uint8_t *buffer, uint32_t count) { +ssize_t FAT_read(file_t *file, char *buffer, size_t count) { uint16_t cluster = file->fat_cluster; fpos_t offset = file->pos; - size_t file_size = file->size; - uint32_t size = 0; + size_t file_size = file->size, size = 0; if (offset + count > file_size) { count = file_size - offset;
M kernel/fat.hkernel/fat.h

@@ -8,11 +8,11 @@

void FAT_init(); int FAT_dir_next(file_t *file, int index, char *fname_buffer); int FAT_openat(file_t *root, file_t *handle, const char *fname, int flags); -uint32_t FAT_read(file_t *file, uint8_t *buffer, uint32_t count); +ssize_t FAT_read(file_t *file, char *buffer, size_t count); off_t FAT_lseek(file_t *file, off_t offset, int whence); off_t FAT_tell(file_t *file); extern file_operations_t FAT_fops; -#endif+#endif
M kernel/file.ckernel/file.c

@@ -88,7 +88,7 @@

return new_fd; } -int file_read(int fd, char *buffer, uint32_t size) { +ssize_t file_read(int fd, char *buffer, size_t size) { if (fd < 0) { return 0; } file_t *file = get_process_local_file(fd);

@@ -98,14 +98,14 @@

return file->fops->read(file, buffer, size); } -int file_write(int fd, char *buffer, uint32_t size) { +ssize_t file_write(int fd, char *buffer, size_t size) { if (fd < 0) { return 0; } file_t *file = get_process_local_file(fd); if (file->fops->write == NULL) { return -1; } - file->fops->write(file, buffer, size); + return file->fops->write(file, buffer, size); } int file_dir_next(int fd, int index, char *fname_buffer) {

@@ -136,4 +136,4 @@

if (file->fops->tell == NULL) { return -1; } return file->fops->tell(file); -}+}
M kernel/file.hkernel/file.h

@@ -29,8 +29,8 @@

struct file_operations { int (*open)(const char *pathname, int flags); int (*openat)(file_t *root, file_t *handle, const char *fname, int flags); - int (*read)(file_t *file, char *buffer, uint32_t size); - int (*write)(file_t *file, char *buffer, uint32_t size); + ssize_t (*read)(file_t *file, char *buffer, size_t size); + ssize_t (*write)(file_t *file, char *buffer, size_t size); int (*dir_next)(file_t *file, int index, char *fname_buffer); off_t (*lseek)(file_t *file, off_t offset, int whence); off_t (*tell)(file_t *file);

@@ -39,10 +39,10 @@

int file_init(); int file_open(const char *pathname, int flags); int file_openat(int fd, const char *fname, int flags); -int file_read(int fd, char *buffer, uint32_t size); +ssize_t file_read(int fd, char *buffer, size_t size); +ssize_t file_write(int fd, char *buffer, size_t size); +int file_dir_next(int fd, int index, char *fname_buffer); off_t file_lseek(int fd, off_t offset, int whence); off_t file_tell(int fd); -int file_write(int fd, char *buffer, uint32_t size); -int file_dir_next(int fd, int index, char *fname_buffer); -#endif+#endif