feat: make System Log quit on failed query; display message box
This commit is contained in:
1 parent
2e3055f5f8
commit
63b4bd51e8
3 files changed
+19
-4
No files matched your search
@@ -12,4 +12,4 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define MONTAUK_BUILD_NUMBER 265
|
||||
#define MONTAUK_BUILD_NUMBER 267
|
||||
@@ -1,4 +1,4 @@
|
||||
# Makefile for syslog (standalone Window Server app) on MontaukOS
|
||||
# Makefile for syslog on MontaukOS
|
||||
# Copyright (c) 2026 Daniel Hammer
|
||||
|
||||
MAKEFLAGS += -rR
|
||||
@@ -51,9 +51,9 @@ TARGET := $(BINDIR)/apps/syslog/syslog.elf
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
$(TARGET): $(OBJS) $(LINK_LD) Makefile $(LIBDIR)/libc/liblibc.a
|
||||
$(TARGET): $(OBJS) $(LINK_LD) Makefile $(LIBDIR)/libc/liblibc.a $(LIBDIR)/libloader/liblibloader.a
|
||||
mkdir -p $(BINDIR)/apps/syslog
|
||||
$(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) $(LIBDIR)/libc/liblibc.a -o $@
|
||||
$(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) $(LIBDIR)/libc/liblibc.a $(LIBDIR)/libloader/liblibloader.a -o $@
|
||||
|
||||
$(OBJDIR)/%.o: %.cpp Makefile
|
||||
mkdir -p $(OBJDIR)
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include <gui/standalone.hpp>
|
||||
#include <gui/terminal.hpp>
|
||||
#include <gui/truetype.hpp>
|
||||
#include <gui/dialogs.hpp>
|
||||
|
||||
using namespace gui;
|
||||
|
||||
@@ -181,6 +182,20 @@ extern "C" void _start() {
|
||||
g_klog.last_pixels = g_win.pixels;
|
||||
|
||||
int n = (int)montauk::read_log(g_klog.klog_buf, KLOG_READ_SIZE);
|
||||
|
||||
/* read_log can return CapabilityDenied or BadPointer */
|
||||
if (n < 0) {
|
||||
gui::dialogs::message_box(
|
||||
"System Log",
|
||||
"System Log was unable to query the system log buffer.",
|
||||
gui::dialogs::MESSAGE_BOX_OK
|
||||
);
|
||||
|
||||
klog_cleanup();
|
||||
g_win.destroy();
|
||||
montauk::exit(-(n));
|
||||
}
|
||||
|
||||
if (n > 0) {
|
||||
klog_refeed(n);
|
||||
g_klog.last_len = n;
|
||||
|
||||
Reference in new issue
Block a user