From 14e058208309fc05f43cd673a8efd7940f6bb08c Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Sun, 28 Aug 2022 01:12:08 +1000 Subject: Miscellaneous fixes: * util/ioprocsvec.h: Fixed truncating when a write doesn't reach the end of stream. [F.Ulivi] * floptool.cpp: Fixed reversed error checking logic. [F.Ulivi] * Fixed SUBTARGET=tiny build (required Sega encrypted CPUs to be added). --- scripts/target/mame/tiny.lua | 1 + src/lib/util/ioprocsvec.h | 3 ++- src/tools/floptool.cpp | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/target/mame/tiny.lua b/scripts/target/mame/tiny.lua index e1eb60dbcae..c1ee27b7277 100644 --- a/scripts/target/mame/tiny.lua +++ b/scripts/target/mame/tiny.lua @@ -67,6 +67,7 @@ MACHINES["NETLIST"] = true MACHINES["OUTPUT_LATCH"] = true MACHINES["PIT8253"] = true MACHINES["RIOT6532"] = true +MACHINES["SEGACRPT"] = true MACHINES["TICKET"] = true MACHINES["TIMEKPR"] = true MACHINES["TTL74148"] = true diff --git a/src/lib/util/ioprocsvec.h b/src/lib/util/ioprocsvec.h index 27dda095ad3..d3c1c7fe01b 100644 --- a/src/lib/util/ioprocsvec.h +++ b/src/lib/util/ioprocsvec.h @@ -188,7 +188,8 @@ private: { actual = std::size_t(limit - offset); std::memmove(reinterpret_cast(m_storage.data()) + offset, buffer, actual); - m_size = limit; + if (limit > m_size) + m_size = limit; } else { diff --git a/src/tools/floptool.cpp b/src/tools/floptool.cpp index e39273e0a12..4ca0c39b1ca 100644 --- a/src/tools/floptool.cpp +++ b/src/tools/floptool.cpp @@ -542,7 +542,7 @@ static int generic_write(image_handler &ih, const char *srcpath, const char *dst auto dpath = path; dpath.pop_back(); err = fs->file_create(dpath, meta); - if(!err) { + if(err) { fprintf(stderr, "File creation failure.\n"); return 1; } @@ -550,7 +550,7 @@ static int generic_write(image_handler &ih, const char *srcpath, const char *dst auto dfork = image_handler::fload(srcpath); err = fs->file_write(path, dfork); - if(!err) { + if(err) { fprintf(stderr, "File writing failure.\n"); return 1; } -- cgit v1.2.3