--- nono/vm/scsidev.cpp 2026/04/29 17:05:18 1.1.1.16 +++ nono/vm/scsidev.cpp 2026/04/29 17:05:25 1.1.1.17 @@ -83,7 +83,7 @@ SCSIHostDevice::Create() const std::string& image = item.AsString(); // 空ならデバイスなし - if (image.length() == 0) { + if (image.empty()) { // 未接続部分のパラメータは減らしておくか。 // --show-config するとさすがに無駄に多くて邪魔なので。 const std::string wikey = string_format("%s-id%d-writeignore", @@ -683,9 +683,9 @@ SCSIDisk::Init() // リムーバブルデバイスのみ UI からの通知を受け取るイベントを用意 if (IsRemovableDevice()) { scheduler->ConnectMessage(MessageID::SCSIDEV_LOAD(myid), this, - ToMessageCallback(&SCSIDisk::LoadCallback)); + ToMessageCallback(&SCSIDisk::LoadMessage)); scheduler->ConnectMessage(MessageID::SCSIDEV_UNLOAD(myid), this, - ToMessageCallback(&SCSIDisk::UnloadCallback)); + ToMessageCallback(&SCSIDisk::UnloadMessage)); } // オープン前に writeignore をチェック。 @@ -720,14 +720,7 @@ SCSIDisk::Init() // 設定時点でファイルが指定されていればオープン if (filename.empty() == false) { - std::string path; - if (filename[0] == '/') { - path = filename; - } else { - // 相対パスなら VM ディレクトリから - path = gMainApp.GetVMDir() + filename; - } - + std::string path = gMainApp.NormalizePath(filename); if (LoadDisk(path) == false) { return false; } @@ -957,7 +950,7 @@ SCSIDisk::UnloadDiskUI(bool force) // メディア挿入メッセージコールバック void -SCSIDisk::LoadCallback(MessageID msgid, uint32 arg) +SCSIDisk::LoadMessage(MessageID msgid, uint32 arg) { if (LoadDisk(new_pathname) == false) { // 失敗したら UI に通知 @@ -967,7 +960,7 @@ SCSIDisk::LoadCallback(MessageID msgid, // メディア排出メッセージコールバック void -SCSIDisk::UnloadCallback(MessageID msgid, uint32 arg) +SCSIDisk::UnloadMessage(MessageID msgid, uint32 arg) { bool force = arg; UnloadDisk(force);