refactor: rename montauk::StatusCodes type to montauk::StatusCode

This commit is contained in:
daniel committed 2026-10-02 08:33:50 +02:00
1 parent 41de95b277
commit c91de69189
11 files changed
+34 -34

No files matched your search

+1 -1
View File
@@ -12,4 +12,4 @@
#pragma once #pragma once
#define MONTAUK_BUILD_NUMBER 278 #define MONTAUK_BUILD_NUMBER 279
+3 -3
View File
@@ -28,9 +28,9 @@ typedef enum {
Busy = 12, Busy = 12,
BufferTooSmall = 13, BufferTooSmall = 13,
OutOfMemory = 14 OutOfMemory = 14
} StatusCodes; } StatusCode;
inline const char* GetStatusText(StatusCodes statusCode) { inline const char* GetStatusText(StatusCode statusCode) {
const char* statusText[] = { const char* statusText[] = {
"Success", // 0 "Success", // 0
"Generic failure", // 1 "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[] = { const char* explanationText[] = {
nullptr, // 0 nullptr, // 0
nullptr, // 1 nullptr, // 1
@@ -73,7 +73,7 @@ void filemanager_finish_rename(FileManagerState* fm) {
filemanager_build_fullpath(new_path, 512, filemanager_build_fullpath(new_path, 512,
fm->current_path, fm->rename_buf); fm->current_path, fm->rename_buf);
montauk::StatusCodes status = montauk::StatusCode status =
filemanager_status_from_result(montauk::frename(old_path, new_path)); filemanager_status_from_result(montauk::frename(old_path, new_path));
if (status != montauk::Success && !filemanager_status_is_access_denied(status)) { if (status != montauk::Success && !filemanager_status_is_access_denied(status)) {
// Fall back to copy + delete for drivers that don't support rename // 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); filemanager_build_fullpath(path, 512, fm->current_path, name);
// Try creating; if it fails (most likely the name is taken), append a // 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. // 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 && for (int attempt = 2; status != montauk::Success &&
!filemanager_status_is_access_denied(status) && !filemanager_status_is_access_denied(status) &&
attempt <= 99; attempt++) { attempt <= 99; attempt++) {
@@ -199,7 +199,7 @@ void filemanager_delete_selected(FileManagerState* fm) {
} }
montauk::mfree(filtered); 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_clear_multi_selection(fm);
filemanager_read_dir(fm); filemanager_read_dir(fm);
@@ -233,25 +233,25 @@ void filemanager_read_system_configuration(FileManagerState* fm);
// Map a raw syscall result (kernel StatusCodes are negative) to a userspace // Map a raw syscall result (kernel StatusCodes are negative) to a userspace
// montauk::StatusCodes. Non-negative results (handles, counts) are Success. // 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; if (rc >= 0) return montauk::Success;
int code = -rc; int code = -rc;
if (code > montauk::OutOfMemory) return montauk::GenericFailure; 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 // 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. // 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 || return status == montauk::SystemIntegrityError ||
status == montauk::PermissionDenied || status == montauk::PermissionDenied ||
status == montauk::CapabilityDenied; status == montauk::CapabilityDenied;
} }
// These return the first failure encountered (Success when everything worked). // These return the first failure encountered (Success when everything worked).
montauk::StatusCodes filemanager_delete_recursive(const char* path); montauk::StatusCode filemanager_delete_recursive(const char* path);
montauk::StatusCodes filemanager_copy_file(const char* src, const char* dst); montauk::StatusCode filemanager_copy_file(const char* src, const char* dst);
montauk::StatusCodes filemanager_copy_dir_recursive(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_copy(FileManagerState* fm);
void filemanager_do_cut(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. // used to center the popup and may be null or stale.
void filemanager_show_error(DesktopState* ds, const void* owner_app_data, void filemanager_show_error(DesktopState* ds, const void* owner_app_data,
const char* heading, const char* path, const char* heading, const char* path,
montauk::StatusCodes status); montauk::StatusCode status);
void filemanager_push_history(FileManagerState* fm); void filemanager_push_history(FileManagerState* fm);
void filemanager_navigate(FileManagerState* fm, const char* name); void filemanager_navigate(FileManagerState* fm, const char* name);
@@ -36,7 +36,7 @@ struct FileOpJob {
// Failures, written by the worker and read on the UI thread only after // Failures, written by the worker and read on the UI thread only after
// the worker has finished (joined), so they need no synchronization. // the worker has finished (joined), so they need no synchronization.
int failed_count; int failed_count;
montauk::StatusCodes first_error; montauk::StatusCode first_error;
char first_error_path[256]; char first_error_path[256];
int tid; int tid;
@@ -81,7 +81,7 @@ static const char* fileop_error_verb(int kind) {
} }
static void fileop_record_status(FileOpJob* job, const char* path, static void fileop_record_status(FileOpJob* job, const char* path,
montauk::StatusCodes status) { montauk::StatusCode status) {
if (status == montauk::Success) return; if (status == montauk::Success) return;
if (job->failed_count++ == 0) { if (job->failed_count++ == 0) {
job->first_error = status; job->first_error = status;
@@ -138,7 +138,7 @@ static int fileop_worker(void* arg) {
continue; continue;
} }
montauk::StatusCodes status; montauk::StatusCode status;
if (job->kind == FILE_OP_MOVE) { if (job->kind == FILE_OP_MOVE) {
// Try a rename first: an instant same-volume move with no copying. // Try a rename first: an instant same-volume move with no copying.
status = filemanager_status_from_result(montauk::frename(src, dst)); 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) { if (sz <= FILEOP_INLINE_MAX_BYTES) {
char dst[512]; char dst[512];
filemanager_build_fullpath(dst, 512, fm->current_path, path_basename(src)); 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 (!montauk::streq(dst, src)) {
if (is_cut) { if (is_cut) {
status = filemanager_status_from_result(montauk::frename(src, dst)); status = filemanager_status_from_result(montauk::frename(src, dst));
@@ -495,9 +495,9 @@ static int filemanager_read_all_children(const char* dir, char (**out)[256]) {
return count; 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 // 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 (status == montauk::Success) return status;
// If that failed, it may be a non-empty directory -- snapshot all children // 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); int count = filemanager_read_all_children(path, &children);
if (count < 0) return status; if (count < 0) return status;
montauk::StatusCodes child_status = montauk::Success; montauk::StatusCode child_status = montauk::Success;
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
char child[512]; char child[512];
montauk::strcpy(child, path); montauk::strcpy(child, path);
@@ -520,7 +520,7 @@ montauk::StatusCodes filemanager_delete_recursive(const char* path) {
int clen = montauk::slen(child); int clen = montauk::slen(child);
if (clen > 0 && child[clen - 1] == '/') child[clen - 1] = '\0'; 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; 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; 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; if (!src || !dst || montauk::streq(src, dst)) return montauk::InvalidArgument;
int sfd = montauk::open(src); 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); return filemanager_status_from_result(dfd);
} }
montauk::StatusCodes status = montauk::Success; montauk::StatusCode status = montauk::Success;
if (size > 0) { if (size > 0) {
static constexpr uint64_t COPY_CHUNK = 64 * 1024; static constexpr uint64_t COPY_CHUNK = 64 * 1024;
uint64_t buf_size = size < COPY_CHUNK ? size : COPY_CHUNK; 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 // 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; if (!src || !dst || montauk::streq(src, dst)) return montauk::InvalidArgument;
// Ignore the result: the destination may already exist (merge). If it // 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); int count = filemanager_read_all_children(src, &children);
if (count < 0) return filemanager_status_from_result(count); 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++) { for (int i = 0; i < count; i++) {
bool child_is_dir = false; bool child_is_dir = false;
char basename[256]; 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(src_child, 512, src, basename);
filemanager_build_fullpath(dst_child, 512, dst, 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_dir_recursive(src_child, dst_child)
: filemanager_copy_file(src_child, dst_child); : filemanager_copy_file(src_child, dst_child);
if (s != montauk::Success && status == montauk::Success) status = s; if (s != montauk::Success && status == montauk::Success) status = s;
@@ -492,11 +492,11 @@ static void delete_confirm_apply(FileDeleteConfirmDialogState* st) {
bool any = false; bool any = false;
int failed = 0; int failed = 0;
const char* first_failed_path = nullptr; 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++) { for (int i = 0; i < n; i++) {
const char* p = (st->count > 0) ? st->paths[i] : st->path; const char* p = (st->count > 0) ? st->paths[i] : st->path;
if (!p || !p[0]) continue; if (!p || !p[0]) continue;
montauk::StatusCodes status = filemanager_delete_recursive(p); montauk::StatusCode status = filemanager_delete_recursive(p);
if (status == montauk::Success) { if (status == montauk::Success) {
any = true; any = true;
} else if (failed++ == 0) { } 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, void filemanager_show_error(DesktopState* ds, const void* owner_app_data,
const char* heading, const char* path, const char* heading, const char* path,
montauk::StatusCodes status) { montauk::StatusCode status) {
if (!ds) return; if (!ds) return;
FileErrorDialogState* st = FileErrorDialogState* st =
+1 -1
View File
@@ -264,7 +264,7 @@ extern "C" void _start() {
if (link == false) { if (link == false) {
montauk::service_log("Unable to locate a network device with an active link.\n"); 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 // 1. Get MAC address
+1 -1
View File
@@ -205,7 +205,7 @@ const char* getReleaseString(char* buffer, int n) {
extern "C" void _start() { extern "C" void _start() {
if (system_already_initialized()) { if (system_already_initialized()) {
montauk::exit(montauk::StatusCodes::BadInvocation); montauk::exit(montauk::StatusCode::BadInvocation);
} }
char releaseString[128] = ""; char releaseString[128] = "";
+1 -1
View File
@@ -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 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) { if (statusText != nullptr) {
montauk::print(" - "); montauk::print(" - ");
@@ -12,7 +12,7 @@
namespace montauk { namespace montauk {
#endif #endif
enum StatusCodes { enum StatusCode {
Success = 0, Success = 0,
GenericFailure = -1, GenericFailure = -1,
PermissionDenied = -2, PermissionDenied = -2,