You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Per-fd byte offsets: Userspace fd table tracks byte offset per open fd, advanced by each SYS_READ/SYS_WRITE — enables streaming reads and append writes from ring 3
vfs_pread / vfs_pwrite: Offset-aware variants that grow + zero-fill without discarding existing content. Kernel-internal vfs_read/vfs_write (offset 0) unchanged
Fixed
snprintf: Added missing format specifiers %%c, %%ld/%%lx/%%lu, %%p\ — fixes File Manager names showing as garbage (%%A) and calculator display (%%ld)
VFS readdir: Implemented (was stub returning NULL). Directories now browsable from File Manager
vfs_open: Now accepts directories (removed type != 0 check)
vfs_write_file: Auto-creates files if they don't exist
Calculator: Window height fixed to include missing top margin (204→212)
Editor: Default save path changed to absolute /home/user/untitled.txt
Heap bug: kmalloc fell back to heap on slab miss for sizes 505-1016 B; added missing 1024 slab class; dual magics for correct kfree routing
Process reaping: exec now frees page directory, stacks, and process_t on exit
SYS_WRITE: Routes file fds (≥3) through ufd table to vfs_write
Compositor
Workspace switching: Ctrl+1..4 (bare digits are passed to terminal/calculator)
Removed WASD mouse cursor debug movement
Reduced pause loop 2M→100K for better responsiveness