From ea087769f5d12123629e627f56c6f8c8d009cf9f Mon Sep 17 00:00:00 2001 From: Daniel Hammer Date: Wed, 25 Mar 2026 15:45:22 +0100 Subject: [PATCH] feat: add cwd tracking to kernel, remove shell hack, update system utilities to use getcwd, fix tcc libc stub, fix nonexistent directory issue --- kernel/src/Api/Filesystem.hpp | 30 +++-- kernel/src/Api/IoRedir.hpp | 6 +- kernel/src/Api/Path.hpp | 143 ++++++++++++++++++++++++ kernel/src/Api/Process.hpp | 51 ++++++++- kernel/src/Api/Syscall.cpp | 6 + kernel/src/Api/Syscall.hpp | 2 + kernel/src/Sched/Scheduler.cpp | 18 +++ kernel/src/Sched/Scheduler.hpp | 1 + programs/include/Api/Syscall.hpp | 3 + programs/include/libc/montauk.h | 10 ++ programs/include/libc/unistd.h | 2 + programs/include/montauk/syscall.h | 6 + programs/lib/libc/libc.c | 27 +++++ programs/lib/libc/obj/libc.o | Bin 223560 -> 226544 bytes programs/src/rm/main.cpp | 22 ++-- programs/src/shell/builtins.cpp | 174 +++++------------------------ programs/src/shell/exec.cpp | 78 +++---------- programs/src/shell/main.cpp | 25 +++++ programs/src/shell/shell.h | 1 + programs/src/shell/vars.cpp | 1 + programs/src/tcc/montauk_compat.h | 15 +-- programs/src/touch/main.cpp | 33 +++--- 22 files changed, 389 insertions(+), 265 deletions(-) create mode 100644 kernel/src/Api/Path.hpp diff --git a/kernel/src/Api/Filesystem.hpp b/kernel/src/Api/Filesystem.hpp index 2236334..67f236b 100644 --- a/kernel/src/Api/Filesystem.hpp +++ b/kernel/src/Api/Filesystem.hpp @@ -12,10 +12,13 @@ #include #include #include +#include "Path.hpp" namespace Montauk { static int Sys_Open(const char* path) { - return Fs::Vfs::VfsOpen(path); + char resolved[256]; + if (!ResolveProcessPath(path, resolved, sizeof(resolved))) return -1; + return Fs::Vfs::VfsOpen(resolved); } static int Sys_Read(int handle, uint8_t* buffer, uint64_t offset, uint64_t size) { @@ -31,11 +34,14 @@ namespace Montauk { } static int Sys_ReadDir(const char* path, const char** outNames, int maxEntries) { + char resolved[256]; + if (!ResolveProcessPath(path, resolved, sizeof(resolved))) return -1; + // Get entries from VFS into a kernel-local array const char* kernelNames[256]; int max = maxEntries; if (max > 256) max = 256; - int count = Fs::Vfs::VfsReadDir(path, kernelNames, max); + int count = Fs::Vfs::VfsReadDir(resolved, kernelNames, max); if (count <= 0) return count; // Allocate a user-accessible page for string data via process heap @@ -70,22 +76,32 @@ namespace Montauk { } static int Sys_FCreate(const char* path) { - return Fs::Vfs::VfsCreate(path); + char resolved[256]; + if (!ResolveProcessPath(path, resolved, sizeof(resolved))) return -1; + return Fs::Vfs::VfsCreate(resolved); } static int Sys_FDelete(const char* path) { - return Fs::Vfs::VfsDelete(path); + char resolved[256]; + if (!ResolveProcessPath(path, resolved, sizeof(resolved))) return -1; + return Fs::Vfs::VfsDelete(resolved); } static int Sys_FMkdir(const char* path) { - return Fs::Vfs::VfsMkdir(path); + char resolved[256]; + if (!ResolveProcessPath(path, resolved, sizeof(resolved))) return -1; + return Fs::Vfs::VfsMkdir(resolved); } static int Sys_FRename(const char* oldPath, const char* newPath) { - return Fs::Vfs::VfsRename(oldPath, newPath); + char resolvedOld[256]; + char resolvedNew[256]; + if (!ResolveProcessPath(oldPath, resolvedOld, sizeof(resolvedOld))) return -1; + if (!ResolveProcessPath(newPath, resolvedNew, sizeof(resolvedNew))) return -1; + return Fs::Vfs::VfsRename(resolvedOld, resolvedNew); } static int Sys_DriveList(int* outDrives, int maxEntries) { return Fs::Vfs::VfsDriveList(outDrives, maxEntries); } -}; \ No newline at end of file +}; diff --git a/kernel/src/Api/IoRedir.hpp b/kernel/src/Api/IoRedir.hpp index 46810b2..5bd08b7 100644 --- a/kernel/src/Api/IoRedir.hpp +++ b/kernel/src/Api/IoRedir.hpp @@ -11,11 +11,15 @@ #include "Syscall.hpp" #include "Common.hpp" +#include "Path.hpp" namespace Montauk { static int Sys_SpawnRedir(const char* path, const char* args) { - int childPid = Sched::Spawn(path, args); + char resolved[256]; + if (!ResolveProcessPath(path, resolved, sizeof(resolved))) return -1; + + int childPid = Sched::Spawn(resolved, args); if (childPid < 0) return -1; auto* child = Sched::GetProcessByPid(childPid); diff --git a/kernel/src/Api/Path.hpp b/kernel/src/Api/Path.hpp new file mode 100644 index 0000000..eedbed7 --- /dev/null +++ b/kernel/src/Api/Path.hpp @@ -0,0 +1,143 @@ +/* + * Path.hpp + * Per-process working-directory path resolution helpers + * Copyright (c) 2026 Daniel Hammer +*/ + +#pragma once +#include +#include +#include + +namespace Montauk { + + static int ParseDrivePrefix(const char* path, int* outPrefixLen = nullptr) { + if (path == nullptr || path[0] < '0' || path[0] > '9') return -1; + + int drive = 0; + int i = 0; + while (path[i] >= '0' && path[i] <= '9') { + drive = drive * 10 + (path[i] - '0'); + i++; + } + + if (path[i] != ':') return -1; + if (outPrefixLen) *outPrefixLen = i + 1; + return drive; + } + + static int WriteDriveRoot(char* out, int outMax, int drive) { + if (out == nullptr || outMax < 4 || drive < 0) return -1; + + char digits[12]; + int digitCount = 0; + do { + digits[digitCount++] = (char)('0' + (drive % 10)); + drive /= 10; + } while (drive > 0 && digitCount < (int)sizeof(digits)); + + if (digitCount + 2 >= outMax) return -1; + + int len = 0; + for (int i = digitCount - 1; i >= 0; i--) out[len++] = digits[i]; + out[len++] = ':'; + out[len++] = '/'; + out[len] = '\0'; + return len; + } + + static bool AppendPathSegment(char* out, int outMax, int& len, int rootLen, + int* segmentBases, int& segmentCount, + const char* segment, int segmentLen) { + if (segmentLen <= 0) return true; + if (segmentLen == 1 && segment[0] == '.') return true; + + if (segmentLen == 2 && segment[0] == '.' && segment[1] == '.') { + if (segmentCount > 0) { + len = segmentBases[--segmentCount]; + out[len] = '\0'; + } + return true; + } + + if (segmentCount >= 64) return false; + + int baseLen = len; + if (len > rootLen) { + if (len >= outMax - 1) return false; + out[len++] = '/'; + } + + if (len + segmentLen >= outMax) return false; + memcpy(out + len, segment, (std::size_t)segmentLen); + len += segmentLen; + out[len] = '\0'; + segmentBases[segmentCount++] = baseLen; + return true; + } + + static bool NormalizePathInto(char* out, int outMax, int& len, int rootLen, + int* segmentBases, int& segmentCount, + const char* path) { + const char* segmentStart = path; + for (const char* p = path;; ++p) { + if (*p == '/' || *p == '\0') { + if (!AppendPathSegment(out, outMax, len, rootLen, segmentBases, + segmentCount, segmentStart, (int)(p - segmentStart))) { + return false; + } + if (*p == '\0') break; + segmentStart = p + 1; + } + } + return true; + } + + static bool ResolvePathAgainst(const char* cwd, const char* path, char* out, int outMax) { + if (cwd == nullptr || path == nullptr || out == nullptr || outMax < 4 || path[0] == '\0') return false; + + int drive = -1; + int inputPrefixLen = 0; + const char* remainder = path; + bool useCwdBase = false; + + drive = ParseDrivePrefix(path, &inputPrefixLen); + if (drive >= 0) { + remainder = path + inputPrefixLen; + if (*remainder == '/') remainder++; + } else if (path[0] == '/') { + drive = ParseDrivePrefix(cwd); + if (drive < 0) return false; + remainder = path + 1; + } else { + drive = ParseDrivePrefix(cwd); + if (drive < 0) return false; + useCwdBase = true; + } + + int segmentBases[64]; + int segmentCount = 0; + int len = WriteDriveRoot(out, outMax, drive); + if (len < 0) return false; + int rootLen = len; + + if (useCwdBase) { + int cwdPrefixLen = 0; + if (ParseDrivePrefix(cwd, &cwdPrefixLen) < 0) return false; + + const char* cwdRemainder = cwd + cwdPrefixLen; + if (*cwdRemainder == '/') cwdRemainder++; + if (!NormalizePathInto(out, outMax, len, rootLen, segmentBases, segmentCount, cwdRemainder)) { + return false; + } + } + + return NormalizePathInto(out, outMax, len, rootLen, segmentBases, segmentCount, remainder); + } + + static bool ResolveProcessPath(const char* path, char* out, int outMax) { + auto* proc = Sched::GetCurrentProcessPtr(); + const char* cwd = (proc && proc->cwd[0]) ? proc->cwd : "0:/"; + return ResolvePathAgainst(cwd, path, out, outMax); + } +} diff --git a/kernel/src/Api/Process.hpp b/kernel/src/Api/Process.hpp index 198e857..d1b59fa 100644 --- a/kernel/src/Api/Process.hpp +++ b/kernel/src/Api/Process.hpp @@ -11,9 +11,11 @@ #include #include #include +#include #include "Syscall.hpp" #include "WinServer.hpp" +#include "Path.hpp" namespace Montauk { static void Sys_Exit(int exitCode) { @@ -38,8 +40,11 @@ namespace Montauk { } static int Sys_Spawn(const char* path, const char* args) { + char resolved[256]; + if (!ResolveProcessPath(path, resolved, sizeof(resolved))) return -1; + auto* parent = Sched::GetCurrentProcessPtr(); - int childPid = Sched::Spawn(path, args); + int childPid = Sched::Spawn(resolved, args); if (childPid < 0) return childPid; // Inherit I/O redirection: if the parent is redirected, the child @@ -120,4 +125,46 @@ namespace Montauk { buf[i] = '\0'; return i; } -}; \ No newline at end of file + + static int Sys_GetCwd(char* buf, uint64_t maxLen) { + auto* proc = Sched::GetCurrentProcessPtr(); + if (proc == nullptr || buf == nullptr || maxLen == 0) return -1; + + const char* cwd = proc->cwd[0] ? proc->cwd : "0:/"; + int i = 0; + for (; i < (int)maxLen - 1 && cwd[i]; i++) buf[i] = cwd[i]; + buf[i] = '\0'; + return i; + } + + static int Sys_Chdir(const char* path) { + auto* proc = Sched::GetCurrentProcessPtr(); + if (proc == nullptr || path == nullptr) return -1; + + char resolved[256]; + if (!ResolveProcessPath(path, resolved, sizeof(resolved))) return -1; + + bool isDriveRoot = false; + { + int prefixLen = 0; + if (ParseDrivePrefix(resolved, &prefixLen) >= 0 && + resolved[prefixLen] == '/' && resolved[prefixLen + 1] == '\0') { + isDriveRoot = true; + } + } + + if (isDriveRoot) { + const char* entries[1]; + if (Fs::Vfs::VfsReadDir(resolved, entries, 1) < 0) return -1; + } else { + int handle = Fs::Vfs::VfsOpen(resolved); + if (handle < 0) return -1; + Fs::Vfs::VfsClose(handle); + } + + int i = 0; + for (; i < 255 && resolved[i]; i++) proc->cwd[i] = resolved[i]; + proc->cwd[i] = '\0'; + return 0; + } +}; diff --git a/kernel/src/Api/Syscall.cpp b/kernel/src/Api/Syscall.cpp index 333b0ca..283fd2f 100644 --- a/kernel/src/Api/Syscall.cpp +++ b/kernel/src/Api/Syscall.cpp @@ -347,6 +347,12 @@ namespace Montauk { case SYS_GETUSER: if (!ValidUserPtr(frame->arg1)) return -1; return Sys_GetUser((char*)frame->arg1, frame->arg2); + case SYS_GETCWD: + if (!ValidUserPtr(frame->arg1)) return -1; + return Sys_GetCwd((char*)frame->arg1, frame->arg2); + case SYS_CHDIR: + if (!ValidUserPtr(frame->arg1)) return -1; + return Sys_Chdir((const char*)frame->arg1); default: return -1; } diff --git a/kernel/src/Api/Syscall.hpp b/kernel/src/Api/Syscall.hpp index ad19b04..dd5f71f 100644 --- a/kernel/src/Api/Syscall.hpp +++ b/kernel/src/Api/Syscall.hpp @@ -184,6 +184,8 @@ namespace Montauk { /* Filesystem.hpp */ static constexpr uint64_t SYS_FRENAME = 94; + static constexpr uint64_t SYS_GETCWD = 95; + static constexpr uint64_t SYS_CHDIR = 96; static constexpr int SOCK_TCP = 1; static constexpr int SOCK_UDP = 2; diff --git a/kernel/src/Sched/Scheduler.cpp b/kernel/src/Sched/Scheduler.cpp index efdb766..a8e14b7 100644 --- a/kernel/src/Sched/Scheduler.cpp +++ b/kernel/src/Sched/Scheduler.cpp @@ -91,6 +91,7 @@ namespace Sched { processTable[i].heapNext = 0; processTable[i].args[0] = '\0'; processTable[i].user[0] = '\0'; + processTable[i].cwd[0] = '\0'; processTable[i].runningOnCpu = -1; processTable[i].killPending = false; processTable[i].waitingForPid = -1; @@ -301,6 +302,23 @@ namespace Sched { } } + { + auto* cpu = Smp::GetCurrentCpuData(); + int parentSlot = cpu->currentSlot; + if (parentSlot >= 0 && processTable[parentSlot].cwd[0]) { + int i = 0; + for (; i < 255 && processTable[parentSlot].cwd[i]; i++) { + proc.cwd[i] = processTable[parentSlot].cwd[i]; + } + proc.cwd[i] = '\0'; + } else { + proc.cwd[0] = '0'; + proc.cwd[1] = ':'; + proc.cwd[2] = '/'; + proc.cwd[3] = '\0'; + } + } + proc.redirected = false; proc.parentPid = -1; proc.outBuf = nullptr; diff --git a/kernel/src/Sched/Scheduler.hpp b/kernel/src/Sched/Scheduler.hpp index bf81c55..93ac46a 100644 --- a/kernel/src/Sched/Scheduler.hpp +++ b/kernel/src/Sched/Scheduler.hpp @@ -44,6 +44,7 @@ namespace Sched { uint64_t heapNext; // Simple bump allocator for user heap char args[256]; // Command-line arguments (set by parent via Spawn) char user[32]; // Owner user name (inherited from parent on spawn) + char cwd[256]; // Absolute current working directory int runningOnCpu; // CPU index running this process (-1 if not running) bool killPending = false; // Set by Sys_Kill when target is running on another CPU diff --git a/programs/include/Api/Syscall.hpp b/programs/include/Api/Syscall.hpp index 64eb5ae..f7e02c2 100644 --- a/programs/include/Api/Syscall.hpp +++ b/programs/include/Api/Syscall.hpp @@ -123,6 +123,9 @@ namespace Montauk { // User management static constexpr uint64_t SYS_SETUSER = 92; static constexpr uint64_t SYS_GETUSER = 93; + static constexpr uint64_t SYS_FRENAME = 94; + static constexpr uint64_t SYS_GETCWD = 95; + static constexpr uint64_t SYS_CHDIR = 96; // Audio control commands (for SYS_AUDIOCTL) static constexpr int AUDIO_CTL_SET_VOLUME = 0; diff --git a/programs/include/libc/montauk.h b/programs/include/libc/montauk.h index b194d70..2653efd 100644 --- a/programs/include/libc/montauk.h +++ b/programs/include/libc/montauk.h @@ -97,6 +97,8 @@ extern "C" { #define MTK_SYS_AUDIOCTL 83 #define MTK_SYS_SETTZ 90 #define MTK_SYS_GETTZ 91 +#define MTK_SYS_GETCWD 95 +#define MTK_SYS_CHDIR 96 #define MTK_SOCK_TCP 1 #define MTK_SOCK_UDP 2 @@ -318,6 +320,14 @@ static inline int mtk_getargs(char *buf, unsigned long max_len) { return (int)_mtk_syscall2(MTK_SYS_GETARGS, (long)buf, (long)max_len); } +static inline int mtk_chdir(const char *path) { + return (int)_mtk_syscall1(MTK_SYS_CHDIR, (long)path); +} + +static inline int mtk_getcwd(char *buf, unsigned long max_len) { + return (int)_mtk_syscall2(MTK_SYS_GETCWD, (long)buf, (long)max_len); +} + /* ==================================================================== Console I/O ==================================================================== */ diff --git a/programs/include/libc/unistd.h b/programs/include/libc/unistd.h index 4912e83..96910af 100644 --- a/programs/include/libc/unistd.h +++ b/programs/include/libc/unistd.h @@ -13,6 +13,8 @@ int read(int fd, void *buf, size_t count); int write(int fd, const void *buf, size_t count); int close(int fd); long lseek(int fd, long offset, int whence); +int chdir(const char *path); +char *getcwd(char *buf, size_t size); unsigned int sleep(unsigned int seconds); diff --git a/programs/include/montauk/syscall.h b/programs/include/montauk/syscall.h index 11c08aa..2ba9c9e 100644 --- a/programs/include/montauk/syscall.h +++ b/programs/include/montauk/syscall.h @@ -120,6 +120,12 @@ namespace montauk { inline int spawn(const char* path, const char* args = nullptr) { return (int)syscall2(Montauk::SYS_SPAWN, (uint64_t)path, (uint64_t)args); } + inline int chdir(const char* path) { + return (int)syscall1(Montauk::SYS_CHDIR, (uint64_t)path); + } + inline int getcwd(char* buf, uint64_t maxLen) { + return (int)syscall2(Montauk::SYS_GETCWD, (uint64_t)buf, maxLen); + } // Console inline void print(const char* text) { syscall1(Montauk::SYS_PRINT, (uint64_t)text); } diff --git a/programs/lib/libc/libc.c b/programs/lib/libc/libc.c index 842df44..789e0ce 100644 --- a/programs/lib/libc/libc.c +++ b/programs/lib/libc/libc.c @@ -13,6 +13,7 @@ #include #include #include +#include #include /* ======================================================================== @@ -96,6 +97,8 @@ static inline long _zos_syscall4(long nr, long a1, long a2, long a3, long a4) { #define SYS_FDELETE 77 #define SYS_FMKDIR 78 #define SYS_FRENAME 94 +#define SYS_GETCWD 95 +#define SYS_CHDIR 96 /* ======================================================================== errno @@ -1395,6 +1398,30 @@ long lseek(int fd, long offset, int whence) { return (long)newpos; } +int chdir(const char *path) { + if (path == NULL) { + errno = EINVAL; + return -1; + } + if ((int)_zos_syscall1(SYS_CHDIR, (long)path) < 0) { + errno = ENOENT; + return -1; + } + return 0; +} + +char *getcwd(char *buf, size_t size) { + if (buf == NULL || size == 0) { + errno = EINVAL; + return NULL; + } + if ((int)_zos_syscall2(SYS_GETCWD, (long)buf, (long)size) < 0) { + errno = ERANGE; + return NULL; + } + return buf; +} + /* ======================================================================== sys/stat.h functions ======================================================================== */ diff --git a/programs/lib/libc/obj/libc.o b/programs/lib/libc/obj/libc.o index 7c0b06b48eb61d0fbbc1b77e835651ab5ca51b5a..81d83ec1dc63b8acc0730e8491ab98832ecdd62d 100644 GIT binary patch literal 226544 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

ttA}==X$fs{BX&<1 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 literal 223560 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 diff --git a/programs/src/rm/main.cpp b/programs/src/rm/main.cpp index 0f05156..238ad9e 100644 --- a/programs/src/rm/main.cpp +++ b/programs/src/rm/main.cpp @@ -11,22 +11,16 @@ extern "C" void _start() { char args[256]; montauk::getargs((char *)&args, 256); - if (*args) { - const char* arg = montauk::skip_spaces((const char *)&args); - - if (*arg != '\0') { - int fd = montauk::open(arg); - if (fd < 0) { - montauk::print("file not found\n"); - } else { - montauk::close(fd); - montauk::fdelete(arg); - } - } - } else { + const char* path = montauk::skip_spaces((const char *)&args); + if (*path == '\0') { montauk::print("usage: rm [file]\n"); montauk::exit(-1); } + if (montauk::fdelete(path) < 0) { + montauk::print("rm: failed to remove file\n"); + montauk::exit(-1); + } + montauk::exit(0); -} \ No newline at end of file +} diff --git a/programs/src/shell/builtins.cpp b/programs/src/shell/builtins.cpp index 56328d6..d4bacc2 100644 --- a/programs/src/shell/builtins.cpp +++ b/programs/src/shell/builtins.cpp @@ -6,6 +6,21 @@ #include "shell.h" +static void print_ls_entry(const char* entry) { + int len = slen(entry); + bool hadTrailingSlash = len > 0 && entry[len - 1] == '/'; + + while (len > 0 && entry[len - 1] == '/') len--; + + int base = 0; + for (int i = 0; i < len; i++) { + if (entry[i] == '/') base = i + 1; + } + + for (int i = base; i < len; i++) montauk::putchar(entry[i]); + if (hadTrailingSlash) montauk::putchar('/'); +} + // ---- help ---- void cmd_help() { @@ -67,28 +82,9 @@ void cmd_help() { void cmd_ls(const char* arg) { arg = skip_spaces(arg); - char dir[128]; - int drive = current_drive; - if (*arg) { - if (has_drive_prefix(arg)) { - drive = parse_drive_prefix(arg); - int plen = drive_prefix_len(arg); - scopy(dir, arg + plen + 1, sizeof(dir)); - } else if (arg[0] == '/') { - scopy(dir, arg + 1, sizeof(dir)); - } else if (cwd[0]) { - scopy(dir, cwd, sizeof(dir)); - scat(dir, "/", sizeof(dir)); - scat(dir, arg, sizeof(dir)); - } else { - scopy(dir, arg, sizeof(dir)); - } - } else { - scopy(dir, cwd, sizeof(dir)); - } - char path[128]; - build_drive_path(drive, dir, path, sizeof(path)); + if (*arg) scopy(path, arg, sizeof(path)); + else scopy(path, ".", sizeof(path)); const char* entries[64]; int count = montauk::readdir(path, entries, 64); @@ -97,16 +93,9 @@ void cmd_ls(const char* arg) { return; } - int prefixLen = 0; - if (dir[0]) prefixLen = slen(dir) + 1; - for (int i = 0; i < count; i++) { montauk::print(" "); - if (prefixLen > 0 && starts_with(entries[i], dir)) { - montauk::print(entries[i] + prefixLen); - } else { - montauk::print(entries[i]); - } + print_ls_entry(entries[i]); montauk::putchar('\n'); } } @@ -116,141 +105,30 @@ void cmd_ls(const char* arg) { bool switch_drive(int drive) { char path[8]; build_drive_path(drive, "", path, sizeof(path)); - const char* entries[1]; - if (montauk::readdir(path, entries, 1) < 0) return false; - current_drive = drive; - cwd[0] = '\0'; + if (montauk::chdir(path) < 0) return false; + sync_cwd(); return true; } int cmd_cd(const char* arg) { arg = skip_spaces(arg); - // cd with no argument -> go to home directory (or root if no session) - if (*arg == '\0') { - if (session_home[0] && has_drive_prefix(session_home)) { - int drive = parse_drive_prefix(session_home); - int plen = drive_prefix_len(session_home); - const char* rel = session_home + plen; - if (*rel == '/') rel++; - current_drive = drive; - if (*rel) scopy(cwd, rel, sizeof(cwd)); - else cwd[0] = '\0'; - } else { - cwd[0] = '\0'; - } - return 0; - } - - // cd / -> go to root - if (streq(arg, "/")) { - cwd[0] = '\0'; - return 0; - } - - // Strip trailing slashes from argument - static char argBuf[128]; - int aLen = 0; - while (arg[aLen] && aLen < 127) { argBuf[aLen] = arg[aLen]; aLen++; } - argBuf[aLen] = '\0'; - while (aLen > 0 && argBuf[aLen - 1] == '/') argBuf[--aLen] = '\0'; - arg = argBuf; - - if (*arg == '\0') { - cwd[0] = '\0'; - return 0; - } - - // cd .. -> go up one level - if (streq(arg, "..")) { - int len = slen(cwd); - int last = -1; - for (int i = 0; i < len; i++) { - if (cwd[i] == '/') last = i; - } - if (last >= 0) { - cwd[last] = '\0'; - } else { - cwd[0] = '\0'; - } - return 0; - } - - // cd /path -> absolute path from root - if (arg[0] == '/') { - arg++; - if (*arg == '\0') { cwd[0] = '\0'; return 0; } - char path[128]; - build_dir_path(arg, path, sizeof(path)); - const char* entries[1]; - if (montauk::readdir(path, entries, 1) < 0) { - montauk::print("cd: no such directory: "); - montauk::print(arg); - montauk::putchar('\n'); - return 1; - } - scopy(cwd, arg, sizeof(cwd)); - return 0; - } - - // cd N:/ or cd N:/path -> switch drive - if (has_drive_prefix(arg)) { - int drive = parse_drive_prefix(arg); - int plen = drive_prefix_len(arg); - const char* rel = arg + plen; - if (*rel == '/') rel++; - - char rootPath[8]; - build_drive_path(drive, "", rootPath, sizeof(rootPath)); - const char* rootEntries[1]; - if (montauk::readdir(rootPath, rootEntries, 1) < 0) { - montauk::print("cd: no such drive: "); - montauk::print(arg); - montauk::putchar('\n'); - return 1; - } - - if (*rel != '\0') { - char path[128]; - build_drive_path(drive, rel, path, sizeof(path)); - const char* entries[1]; - if (montauk::readdir(path, entries, 1) < 0) { - montauk::print("cd: no such directory: "); - montauk::print(arg); - montauk::putchar('\n'); - return 1; - } - current_drive = drive; - scopy(cwd, rel, sizeof(cwd)); - } else { - current_drive = drive; - cwd[0] = '\0'; - } - return 0; - } - - // Relative path char target[128]; - if (cwd[0]) { - scopy(target, cwd, sizeof(target)); - scat(target, "/", sizeof(target)); - scat(target, arg, sizeof(target)); + if (*arg == '\0') { + if (session_home[0]) scopy(target, session_home, sizeof(target)); + else scopy(target, "/", sizeof(target)); } else { scopy(target, arg, sizeof(target)); } - char path[128]; - build_dir_path(target, path, sizeof(path)); - const char* entries[1]; - int count = montauk::readdir(path, entries, 1); - if (count < 0) { + if (montauk::chdir(target) < 0) { montauk::print("cd: no such directory: "); - montauk::print(arg); + montauk::print(target); montauk::putchar('\n'); return 1; } - scopy(cwd, target, sizeof(cwd)); + sync_cwd(); return 0; } diff --git a/programs/src/shell/exec.cpp b/programs/src/shell/exec.cpp index bfe7ed1..491f11d 100644 --- a/programs/src/shell/exec.cpp +++ b/programs/src/shell/exec.cpp @@ -36,81 +36,29 @@ static void build_cwd_path(const char* name, char* out, int outMax) { scat(out, name, outMax); } -// ---- Resolve arguments: expand relative file paths against CWD ---- - -static void resolve_args(const char* args, char* out, int outMax) { - if (!args || !args[0]) { out[0] = '\0'; return; } - - int o = 0; - const char* p = args; - - while (*p && o < outMax - 1) { - while (*p == ' ' && o < outMax - 1) { out[o++] = *p++; } - if (!*p) break; - - const char* tokStart = p; - int tokLen = 0; - while (p[tokLen] && p[tokLen] != ' ') tokLen++; - - bool resolve = (cwd[0] || current_drive != 0) && !has_drive_prefix(tokStart) && tokStart[0] != '-'; - - if (resolve) { - char candidate[256]; - int r = 0; - if (current_drive >= 10) candidate[r++] = '0' + current_drive / 10; - candidate[r++] = '0' + current_drive % 10; - candidate[r++] = ':'; candidate[r++] = '/'; - int j = 0; - while (cwd[j] && r < 255) candidate[r++] = cwd[j++]; - if (cwd[0] && r < 255) candidate[r++] = '/'; - - // Strip leading "./" from token - int skip = 0; - if (tokLen >= 2 && tokStart[0] == '.' && tokStart[1] == '/') skip = 2; - - for (int k = skip; k < tokLen && r < 255; k++) candidate[r++] = tokStart[k]; - candidate[r] = '\0'; - - int h = montauk::open(candidate); - if (h >= 0) { - montauk::close(h); - for (int k = 0; k < r && o < outMax - 1; k++) out[o++] = candidate[k]; - } else { - bool looksLikeFile = false; - for (int k = 0; k < tokLen; k++) { - if (tokStart[k] == '.') { looksLikeFile = true; break; } - } - if (looksLikeFile) { - for (int k = 0; k < r && o < outMax - 1; k++) out[o++] = candidate[k]; - } else { - for (int k = 0; k < tokLen && o < outMax - 1; k++) out[o++] = tokStart[k]; - } - } - } else { - for (int k = 0; k < tokLen && o < outMax - 1; k++) out[o++] = tokStart[k]; - } - - p = tokStart + tokLen; - } - out[o] = '\0'; -} - // ---- Search and execute an external command ---- int exec_external(const char* cmd, const char* args) { char path[256]; - - char resolvedArgs[512]; - resolve_args(args, resolvedArgs, sizeof(resolvedArgs)); - const char* finalArgs = resolvedArgs[0] ? resolvedArgs : nullptr; + const char* finalArgs = (args && args[0]) ? args : nullptr; // Strip leading "./" from command name const char* name = cmd; if (name[0] == '.' && name[1] == '/') name += 2; - // 0. If cmd has a drive prefix (absolute path), try it directly - if (has_drive_prefix(cmd)) { + // 0. Direct paths are resolved by the kernel against the process CWD. + bool hasSlash = false; + for (int i = 0; cmd[i]; i++) { + if (cmd[i] == '/') { + hasSlash = true; + break; + } + } + if (has_drive_prefix(cmd) || cmd[0] == '/' || cmd[0] == '.' || hasSlash) { if (try_exec(cmd, finalArgs)) return 0; + scopy(path, cmd, sizeof(path)); + scat(path, ".elf", sizeof(path)); + if (try_exec(path, finalArgs)) return 0; montauk::print(cmd); montauk::print(": not found\n"); return 127; diff --git a/programs/src/shell/main.cpp b/programs/src/shell/main.cpp index d0729c1..913207d 100644 --- a/programs/src/shell/main.cpp +++ b/programs/src/shell/main.cpp @@ -14,6 +14,28 @@ int last_exit = 0; char session_user[32] = ""; char session_home[64] = ""; +void sync_cwd() { + char abs[128]; + if (montauk::getcwd(abs, sizeof(abs)) < 0) { + current_drive = 0; + cwd[0] = '\0'; + return; + } + + int drive = parse_drive_prefix(abs); + if (drive < 0) { + current_drive = 0; + cwd[0] = '\0'; + return; + } + + current_drive = drive; + int plen = drive_prefix_len(abs); + const char* rel = abs + plen; + if (*rel == '/') rel++; + scopy(cwd, rel, sizeof(cwd)); +} + // ---- Session info (read once at startup) ---- void read_session() { @@ -165,6 +187,7 @@ static int process_command(const char* line) { if (streq(cmd, "false")) { return 1; } if (streq(cmd, "pwd")) { + sync_cwd(); char path[128]; build_dir_path(cwd, path, sizeof(path)); montauk::print(path); @@ -202,6 +225,7 @@ static int process_command(const char* line) { montauk::print(session_home); montauk::putchar('\n'); } + sync_cwd(); char path[128]; build_dir_path(cwd, path, sizeof(path)); montauk::print("PWD="); @@ -331,6 +355,7 @@ static constexpr uint8_t SC_RIGHT = 0x4D; // ---- Entry point ---- extern "C" void _start() { + sync_cwd(); read_session(); montauk::print("\n"); diff --git a/programs/src/shell/shell.h b/programs/src/shell/shell.h index a79ebc3..52c139a 100644 --- a/programs/src/shell/shell.h +++ b/programs/src/shell/shell.h @@ -113,6 +113,7 @@ const char* var_user_value(int idx); // ---- Session (main.cpp) ---- void read_session(); +void sync_cwd(); // ---- Builtins (builtins.cpp) ---- diff --git a/programs/src/shell/vars.cpp b/programs/src/shell/vars.cpp index 47ff5f7..a2d634d 100644 --- a/programs/src/shell/vars.cpp +++ b/programs/src/shell/vars.cpp @@ -61,6 +61,7 @@ const char* var_get(const char* name) { if (streq(name, "USER")) return session_user[0] ? session_user : nullptr; if (streq(name, "HOME")) return session_home[0] ? session_home : nullptr; if (streq(name, "PWD")) { + sync_cwd(); build_dir_path(cwd, synth, sizeof(synth)); return synth; } diff --git a/programs/src/tcc/montauk_compat.h b/programs/src/tcc/montauk_compat.h index 97d63ca..f1e7c25 100644 --- a/programs/src/tcc/montauk_compat.h +++ b/programs/src/tcc/montauk_compat.h @@ -72,19 +72,8 @@ static inline int gettimeofday(struct timeval *tv, struct timezone *tz) { return 0; } -/* ==================================================================== - getcwd stub (for debug info) - ==================================================================== */ - -static inline char *getcwd(char *buf, size_t size) { - if (buf && size > 4) { - buf[0] = '0'; - buf[1] = ':'; - buf[2] = '/'; - buf[3] = '\0'; - } - return buf; -} +/* getcwd is provided by libc now */ +char *getcwd(char *buf, size_t size); /* ==================================================================== POSIX file access stubs diff --git a/programs/src/touch/main.cpp b/programs/src/touch/main.cpp index 3362d77..3ef83f4 100644 --- a/programs/src/touch/main.cpp +++ b/programs/src/touch/main.cpp @@ -11,21 +11,24 @@ extern "C" void _start() { char args[256]; montauk::getargs((char *)&args, 256); - if (*args) { - const char* arg = montauk::skip_spaces((const char *)&args); - int fd = montauk::open(arg); - montauk::close(fd); - - if (fd >= 0) { /* file already exists */ - montauk::exit(0); - } else { - int fd = montauk::fcreate(arg); - montauk::close(fd); - - montauk::exit(0); - } - } else { + const char* path = montauk::skip_spaces((const char *)&args); + if (*path == '\0') { montauk::print("usage: touch [filename]\n"); montauk::exit(-1); } -} \ No newline at end of file + + int fd = montauk::open(path); + if (fd >= 0) { + montauk::close(fd); + montauk::exit(0); + } + + fd = montauk::fcreate(path); + if (fd < 0) { + montauk::print("touch: failed to create file\n"); + montauk::exit(-1); + } + + montauk::close(fd); + montauk::exit(0); +}