summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/gameboy/gb_slot.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/gameboy/gb_slot.cpp')
-rw-r--r--src/devices/bus/gameboy/gb_slot.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/devices/bus/gameboy/gb_slot.cpp b/src/devices/bus/gameboy/gb_slot.cpp
index 79708f95314..0da541e9f5a 100644
--- a/src/devices/bus/gameboy/gb_slot.cpp
+++ b/src/devices/bus/gameboy/gb_slot.cpp
@@ -584,21 +584,21 @@ std::string gb_cart_slot_device_base::get_default_card_software(get_default_card
{
if (hook.image_file())
{
- const char *slot_string;
- uint32_t len = hook.image_file()->size(), offset = 0;
+ uint64_t len;
+ hook.image_file()->length(len); // FIXME: check error return, guard against excessively large files
std::vector<uint8_t> rom(len);
- int type;
- hook.image_file()->read(&rom[0], len);
+ size_t actual;
+ hook.image_file()->read(&rom[0], len, actual); // FIXME: check error return or read returning short
+ uint32_t offset = 0;
if ((len % 0x4000) == 512)
offset = 512;
-
if (get_mmm01_candidate(&rom[offset], len - offset))
offset += (len - 0x8000);
- type = get_cart_type(&rom[offset], len - offset);
- slot_string = gb_get_slot(type);
+ int const type = get_cart_type(&rom[offset], len - offset);
+ char const *const slot_string = gb_get_slot(type);
//printf("type: %s\n", slot_string);