feat: unify system status codes

This commit is contained in:
daniel committed 2026-09-30 09:43:18 +02:00
1 parent 93894b8fe5
commit 8a3ffb2be1
46 files changed
+1499 -489

No files matched your search

+18 -16
View File
@@ -90,22 +90,24 @@ namespace montauk::abi {
static int Sys_ClipboardSetText(const char* data, uint32_t len) {
if (len == 0)
return Sys_ClipboardClear();
if (data == nullptr || len > CLIPBOARD_MAX_TEXT_BYTES || Memory::g_heap == nullptr)
return -1;
if (data == nullptr || len > CLIPBOARD_MAX_TEXT_BYTES)
return InvalidArgument;
if (Memory::g_heap == nullptr)
return OutOfMemory;
for (uint32_t i = 0; i < len; i++) {
if (data[i] == '\0')
return -1;
return InvalidArgument;
}
const char* currentUser = ClipboardCurrentUser();
if (currentUser == nullptr) return -1;
if (currentUser == nullptr) return GenericFailure;
char user[32];
ClipboardCopyUser(user, currentUser);
char* newText = (char*)Memory::g_heap->Request(len + 1);
if (newText == nullptr) return -1;
if (newText == nullptr) return OutOfMemory;
for (uint32_t i = 0; i < len; i++)
newText[i] = data[i];
newText[len] = '\0';
@@ -129,18 +131,18 @@ namespace montauk::abi {
if (oldText != nullptr)
Memory::g_heap->Free(oldText);
return 0;
return Success;
}
static int Sys_ClipboardGetInfo(ClipboardInfo* out) {
if (out == nullptr) return -1;
if (out == nullptr) return InvalidArgument;
out->textBytes = 0;
out->_pad = 0;
out->serial = 0;
const char* currentUser = ClipboardCurrentUser();
if (currentUser == nullptr) return -1;
if (currentUser == nullptr) return GenericFailure;
char user[32];
ClipboardCopyUser(user, currentUser);
@@ -152,17 +154,17 @@ namespace montauk::abi {
out->serial = slot->serial;
}
g_clipboardLock.Release();
return 0;
return Success;
}
static int Sys_ClipboardGetText(char* buffer, uint32_t bufferLen, uint32_t* outLen, uint64_t* outSerial) {
if (outLen == nullptr) return -1;
if (outLen == nullptr) return InvalidArgument;
*outLen = 0;
if (outSerial != nullptr) *outSerial = 0;
const char* currentUser = ClipboardCurrentUser();
if (currentUser == nullptr) return -1;
if (currentUser == nullptr) return GenericFailure;
char user[32];
ClipboardCopyUser(user, currentUser);
@@ -173,25 +175,25 @@ namespace montauk::abi {
if (slot != nullptr && outSerial != nullptr)
*outSerial = slot->serial;
g_clipboardLock.Release();
return 0;
return Success;
}
*outLen = slot->len;
if (outSerial != nullptr) *outSerial = slot->serial;
if (buffer == nullptr || bufferLen < slot->len) {
g_clipboardLock.Release();
return -1;
return BufferTooSmall;
}
for (uint32_t i = 0; i < slot->len; i++)
buffer[i] = slot->text[i];
g_clipboardLock.Release();
return 0;
return Success;
}
static int Sys_ClipboardClear() {
const char* currentUser = ClipboardCurrentUser();
if (currentUser == nullptr) return -1;
if (currentUser == nullptr) return GenericFailure;
char user[32];
ClipboardCopyUser(user, currentUser);
@@ -214,7 +216,7 @@ namespace montauk::abi {
if (oldText != nullptr)
Memory::g_heap->Free(oldText);
return 0;
return Success;
}
}