diff --git a/kernel/src/Api/BuildNo.hpp b/kernel/src/Api/BuildNo.hpp index c7f8eaa..affe5d0 100644 --- a/kernel/src/Api/BuildNo.hpp +++ b/kernel/src/Api/BuildNo.hpp @@ -12,4 +12,4 @@ #pragma once -#define MONTAUK_BUILD_NUMBER 278 +#define MONTAUK_BUILD_NUMBER 279 diff --git a/programs/include/montauk/statuscodes.h b/programs/include/montauk/statuscodes.h index 74a8f12..3c6acbf 100644 --- a/programs/include/montauk/statuscodes.h +++ b/programs/include/montauk/statuscodes.h @@ -28,9 +28,9 @@ typedef enum { Busy = 12, BufferTooSmall = 13, OutOfMemory = 14 -} StatusCodes; +} StatusCode; -inline const char* GetStatusText(StatusCodes statusCode) { +inline const char* GetStatusText(StatusCode statusCode) { const char* statusText[] = { "Success", // 0 "Generic failure", // 1 @@ -56,7 +56,7 @@ inline const char* GetStatusText(StatusCodes statusCode) { } } -inline const char* GetStatusExplanationText(StatusCodes statusCode) { +inline const char* GetStatusExplanationText(StatusCode statusCode) { const char* explanationText[] = { nullptr, // 0 nullptr, // 1 diff --git a/programs/src/desktop/apps/filemanager/actions.cpp b/programs/src/desktop/apps/filemanager/actions.cpp index 8399e52..0b91715 100644 --- a/programs/src/desktop/apps/filemanager/actions.cpp +++ b/programs/src/desktop/apps/filemanager/actions.cpp @@ -73,7 +73,7 @@ void filemanager_finish_rename(FileManagerState* fm) { filemanager_build_fullpath(new_path, 512, fm->current_path, fm->rename_buf); - montauk::StatusCodes status = + montauk::StatusCode status = filemanager_status_from_result(montauk::frename(old_path, new_path)); if (status != montauk::Success && !filemanager_status_is_access_denied(status)) { // Fall back to copy + delete for drivers that don't support rename @@ -110,7 +110,7 @@ void filemanager_new_folder(FileManagerState* fm) { filemanager_build_fullpath(path, 512, fm->current_path, name); // Try creating; if it fails (most likely the name is taken), append a // number. An access error fails the same way for every name, so stop. - montauk::StatusCodes status = filemanager_status_from_result(montauk::fmkdir(path)); + montauk::StatusCode status = filemanager_status_from_result(montauk::fmkdir(path)); for (int attempt = 2; status != montauk::Success && !filemanager_status_is_access_denied(status) && attempt <= 99; attempt++) { @@ -199,7 +199,7 @@ void filemanager_delete_selected(FileManagerState* fm) { } montauk::mfree(filtered); - montauk::StatusCodes status = filemanager_status_from_result(montauk::fdelete(fullpath)); + montauk::StatusCode status = filemanager_status_from_result(montauk::fdelete(fullpath)); filemanager_clear_multi_selection(fm); filemanager_read_dir(fm); diff --git a/programs/src/desktop/apps/filemanager/filemanager_internal.hpp b/programs/src/desktop/apps/filemanager/filemanager_internal.hpp index 17e9c30..ba700a2 100644 --- a/programs/src/desktop/apps/filemanager/filemanager_internal.hpp +++ b/programs/src/desktop/apps/filemanager/filemanager_internal.hpp @@ -233,25 +233,25 @@ void filemanager_read_system_configuration(FileManagerState* fm); // Map a raw syscall result (kernel StatusCodes are negative) to a userspace // montauk::StatusCodes. Non-negative results (handles, counts) are Success. -inline montauk::StatusCodes filemanager_status_from_result(int rc) { +inline montauk::StatusCode filemanager_status_from_result(int rc) { if (rc >= 0) return montauk::Success; int code = -rc; if (code > montauk::OutOfMemory) return montauk::GenericFailure; - return (montauk::StatusCodes)code; + return (montauk::StatusCode)code; } // The path itself may not be modified. Falling back to copy + delete after a // failed rename cannot help here and would leave a duplicate behind. -inline bool filemanager_status_is_access_denied(montauk::StatusCodes status) { +inline bool filemanager_status_is_access_denied(montauk::StatusCode status) { return status == montauk::SystemIntegrityError || status == montauk::PermissionDenied || status == montauk::CapabilityDenied; } // These return the first failure encountered (Success when everything worked). -montauk::StatusCodes filemanager_delete_recursive(const char* path); -montauk::StatusCodes filemanager_copy_file(const char* src, const char* dst); -montauk::StatusCodes filemanager_copy_dir_recursive(const char* src, const char* dst); +montauk::StatusCode filemanager_delete_recursive(const char* path); +montauk::StatusCode filemanager_copy_file(const char* src, const char* dst); +montauk::StatusCode filemanager_copy_dir_recursive(const char* src, const char* dst); void filemanager_do_copy(FileManagerState* fm); void filemanager_do_cut(FileManagerState* fm); @@ -279,7 +279,7 @@ void filemanager_show_bulk_delete_confirmation(FileManagerState* fm, // used to center the popup and may be null or stale. void filemanager_show_error(DesktopState* ds, const void* owner_app_data, const char* heading, const char* path, - montauk::StatusCodes status); + montauk::StatusCode status); void filemanager_push_history(FileManagerState* fm); void filemanager_navigate(FileManagerState* fm, const char* name); diff --git a/programs/src/desktop/apps/filemanager/fileop.cpp b/programs/src/desktop/apps/filemanager/fileop.cpp index 71b8848..c0fd2c2 100644 --- a/programs/src/desktop/apps/filemanager/fileop.cpp +++ b/programs/src/desktop/apps/filemanager/fileop.cpp @@ -36,7 +36,7 @@ struct FileOpJob { // Failures, written by the worker and read on the UI thread only after // the worker has finished (joined), so they need no synchronization. int failed_count; - montauk::StatusCodes first_error; + montauk::StatusCode first_error; char first_error_path[256]; int tid; @@ -81,7 +81,7 @@ static const char* fileop_error_verb(int kind) { } static void fileop_record_status(FileOpJob* job, const char* path, - montauk::StatusCodes status) { + montauk::StatusCode status) { if (status == montauk::Success) return; if (job->failed_count++ == 0) { job->first_error = status; @@ -138,7 +138,7 @@ static int fileop_worker(void* arg) { continue; } - montauk::StatusCodes status; + montauk::StatusCode status; if (job->kind == FILE_OP_MOVE) { // Try a rename first: an instant same-volume move with no copying. status = filemanager_status_from_result(montauk::frename(src, dst)); @@ -444,7 +444,7 @@ bool filemanager_start_paste_job(FileManagerState* fm) { if (sz <= FILEOP_INLINE_MAX_BYTES) { char dst[512]; filemanager_build_fullpath(dst, 512, fm->current_path, path_basename(src)); - montauk::StatusCodes status = montauk::Success; + montauk::StatusCode status = montauk::Success; if (!montauk::streq(dst, src)) { if (is_cut) { status = filemanager_status_from_result(montauk::frename(src, dst)); diff --git a/programs/src/desktop/apps/filemanager/filesystem.cpp b/programs/src/desktop/apps/filemanager/filesystem.cpp index a819b74..853fda6 100644 --- a/programs/src/desktop/apps/filemanager/filesystem.cpp +++ b/programs/src/desktop/apps/filemanager/filesystem.cpp @@ -495,9 +495,9 @@ static int filemanager_read_all_children(const char* dir, char (**out)[256]) { return count; } -montauk::StatusCodes filemanager_delete_recursive(const char* path) { +montauk::StatusCode filemanager_delete_recursive(const char* path) { // Try deleting as a file (or empty directory) first - montauk::StatusCodes status = filemanager_status_from_result(montauk::fdelete(path)); + montauk::StatusCode status = filemanager_status_from_result(montauk::fdelete(path)); if (status == montauk::Success) return status; // If that failed, it may be a non-empty directory -- snapshot all children @@ -507,7 +507,7 @@ montauk::StatusCodes filemanager_delete_recursive(const char* path) { int count = filemanager_read_all_children(path, &children); if (count < 0) return status; - montauk::StatusCodes child_status = montauk::Success; + montauk::StatusCode child_status = montauk::Success; for (int i = 0; i < count; i++) { char child[512]; montauk::strcpy(child, path); @@ -520,7 +520,7 @@ montauk::StatusCodes filemanager_delete_recursive(const char* path) { int clen = montauk::slen(child); if (clen > 0 && child[clen - 1] == '/') child[clen - 1] = '\0'; - montauk::StatusCodes s = filemanager_delete_recursive(child); + montauk::StatusCode s = filemanager_delete_recursive(child); if (s != montauk::Success && child_status == montauk::Success) child_status = s; } @@ -534,7 +534,7 @@ montauk::StatusCodes filemanager_delete_recursive(const char* path) { return status; } -montauk::StatusCodes filemanager_copy_file(const char* src, const char* dst) { +montauk::StatusCode filemanager_copy_file(const char* src, const char* dst) { if (!src || !dst || montauk::streq(src, dst)) return montauk::InvalidArgument; int sfd = montauk::open(src); @@ -548,7 +548,7 @@ montauk::StatusCodes filemanager_copy_file(const char* src, const char* dst) { return filemanager_status_from_result(dfd); } - montauk::StatusCodes status = montauk::Success; + montauk::StatusCode status = montauk::Success; if (size > 0) { static constexpr uint64_t COPY_CHUNK = 64 * 1024; uint64_t buf_size = size < COPY_CHUNK ? size : COPY_CHUNK; @@ -588,7 +588,7 @@ montauk::StatusCodes filemanager_copy_file(const char* src, const char* dst) { } // Recursive directory copy -montauk::StatusCodes filemanager_copy_dir_recursive(const char* src, const char* dst) { +montauk::StatusCode filemanager_copy_dir_recursive(const char* src, const char* dst) { if (!src || !dst || montauk::streq(src, dst)) return montauk::InvalidArgument; // Ignore the result: the destination may already exist (merge). If it @@ -599,7 +599,7 @@ montauk::StatusCodes filemanager_copy_dir_recursive(const char* src, const char* int count = filemanager_read_all_children(src, &children); if (count < 0) return filemanager_status_from_result(count); - montauk::StatusCodes status = montauk::Success; + montauk::StatusCode status = montauk::Success; for (int i = 0; i < count; i++) { bool child_is_dir = false; char basename[256]; @@ -615,7 +615,7 @@ montauk::StatusCodes filemanager_copy_dir_recursive(const char* src, const char* filemanager_build_fullpath(src_child, 512, src, basename); filemanager_build_fullpath(dst_child, 512, dst, basename); - montauk::StatusCodes s = child_is_dir + montauk::StatusCode s = child_is_dir ? filemanager_copy_dir_recursive(src_child, dst_child) : filemanager_copy_file(src_child, dst_child); if (s != montauk::Success && status == montauk::Success) status = s; diff --git a/programs/src/desktop/apps/filemanager/properties.cpp b/programs/src/desktop/apps/filemanager/properties.cpp index 092dc48..8c4a28d 100644 --- a/programs/src/desktop/apps/filemanager/properties.cpp +++ b/programs/src/desktop/apps/filemanager/properties.cpp @@ -492,11 +492,11 @@ static void delete_confirm_apply(FileDeleteConfirmDialogState* st) { bool any = false; int failed = 0; const char* first_failed_path = nullptr; - montauk::StatusCodes first_error = montauk::Success; + montauk::StatusCode first_error = montauk::Success; for (int i = 0; i < n; i++) { const char* p = (st->count > 0) ? st->paths[i] : st->path; if (!p || !p[0]) continue; - montauk::StatusCodes status = filemanager_delete_recursive(p); + montauk::StatusCode status = filemanager_delete_recursive(p); if (status == montauk::Success) { any = true; } else if (failed++ == 0) { @@ -934,7 +934,7 @@ static void error_on_close(Window* win) { void filemanager_show_error(DesktopState* ds, const void* owner_app_data, const char* heading, const char* path, - montauk::StatusCodes status) { + montauk::StatusCode status) { if (!ds) return; FileErrorDialogState* st = diff --git a/programs/src/dhcp/main.cpp b/programs/src/dhcp/main.cpp index d8ea0e3..b7d3254 100644 --- a/programs/src/dhcp/main.cpp +++ b/programs/src/dhcp/main.cpp @@ -264,7 +264,7 @@ extern "C" void _start() { if (link == false) { montauk::service_log("Unable to locate a network device with an active link.\n"); - montauk::exit(montauk::StatusCodes::NoDevice); + montauk::exit(montauk::StatusCode::NoDevice); } // 1. Get MAC address diff --git a/programs/src/init/main.cpp b/programs/src/init/main.cpp index 520540a..b83a89b 100644 --- a/programs/src/init/main.cpp +++ b/programs/src/init/main.cpp @@ -205,7 +205,7 @@ const char* getReleaseString(char* buffer, int n) { extern "C" void _start() { if (system_already_initialized()) { - montauk::exit(montauk::StatusCodes::BadInvocation); + montauk::exit(montauk::StatusCode::BadInvocation); } char releaseString[128] = ""; diff --git a/programs/src/shell/exec.cpp b/programs/src/shell/exec.cpp index f42f846..7e545e7 100644 --- a/programs/src/shell/exec.cpp +++ b/programs/src/shell/exec.cpp @@ -40,7 +40,7 @@ static void print_exit_code(const int exitCode) { } if (exitCode > 0 && exitCode <= 14) { // 0-14 - current range of status codes within StatusCodes enum - const char* statusText = montauk::GetStatusText((montauk::StatusCodes)exitCode); + const char* statusText = montauk::GetStatusText((montauk::StatusCode)exitCode); if (statusText != nullptr) { montauk::print(" - "); diff --git a/template/sysroot/include/montauk/statuscodes.h b/template/sysroot/include/montauk/statuscodes.h index be65416..1185349 100644 --- a/template/sysroot/include/montauk/statuscodes.h +++ b/template/sysroot/include/montauk/statuscodes.h @@ -12,7 +12,7 @@ namespace montauk { #endif -enum StatusCodes { +enum StatusCode { Success = 0, GenericFailure = -1, PermissionDenied = -2,