--- nono/lib/object.cpp 2026/04/29 17:04:28 1.1 +++ nono/lib/object.cpp 2026/04/29 17:04:43 1.1.1.5 @@ -1,12 +1,12 @@ // // nono -// Copyright (C) 2018 isaki@NetBSD.org +// Copyright (C) 2020 nono project +// Licensed under nono-license.txt // #include "object.h" #include "logger.h" #include "mpu.h" -#include "scheduler.h" #include "textscreen.h" // 全オブジェクトのリスト @@ -30,7 +30,7 @@ Object::~Object() // メッセージ表示 // 常に表示 (あらかじめ loglevel の評価をした後で呼び出す用) void -Object::putmsg(const char *fmt, ...) +Object::putmsg(const char *fmt, ...) const { va_list ap; @@ -42,20 +42,21 @@ Object::putmsg(const char *fmt, ...) // メッセージ出力 (va_list) // 常に表示 (あらかじめ loglevel の評価をした後で呼び出す用) void -Object::vputmsg(const char *fmt, va_list ap) +Object::vputmsg(const char *fmt, va_list ap) const { + char buf[1024]; int len; // デバイス名だけ生表示されても分かりづらいので括弧でもつけておく - len = snprintf(lastbuf, sizeof(lastbuf), "(%s) ", devname); - vsnprintf(lastbuf + len, sizeof(lastbuf) - len, fmt, ap); - gLogger->Write(lastbuf); + len = snprintf(buf, sizeof(buf), "(%s) ", devname.c_str()); + vsnprintf(buf + len, sizeof(buf) - len, fmt, ap); + gLogger.Write(buf); } // ログ出力 (可変引数) // 常に表示 (あらかじめ loglevel の評価をした後で呼び出す用) void -Object::putlog(const char *fmt, ...) +Object::putlog(const char *fmt, ...) const { va_list ap; @@ -67,29 +68,22 @@ Object::putlog(const char *fmt, ...) // ログ出力 (va_list) // 常に表示 (あらかじめ loglevel の評価をした後で呼び出す用) void -Object::vputlog(const char *fmt, va_list ap) +Object::vputlog(const char *fmt, va_list ap) const { + char buf[1024]; uint64 vt; int len = 0; - vt = gScheduler->GetVirtTime(); - len += snprintf(lastbuf + len, sizeof(lastbuf) - len, "%4d.%03d'%03d'%03d ", + vt = gMPU->GetVirtTime(); + len += snprintf(buf + len, sizeof(buf) - len, "%4d.%03d'%03d'%03d ", (int)(vt / 1000 / 1000 / 1000), (int)((vt / 1000 / 1000) % 1000), (int)((vt / 1000) % 1000), (int)(vt % 1000)); - len += snprintf(lastbuf + len, sizeof(lastbuf) - len, "%08x %s ", - gMPU->GetPPC(), devname); - vsnprintf(lastbuf + len, sizeof(lastbuf) - len, fmt, ap); + len += snprintf(buf + len, sizeof(buf) - len, "%08x %s ", + gMPU->GetPPC(), devname.c_str()); + vsnprintf(buf + len, sizeof(buf) - len, fmt, ap); - gLogger->Write(lastbuf); -} - -// モニタースクリーンを更新する。 -bool -Object::MonitorUpdate() -{ - // モニタースクリーンなし - return false; + gLogger.Write(buf); }