summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib
diff options
context:
space:
mode:
author Nathan Woods <npwoods@mess.org>2016-08-18 21:25:28 -0400
committer Nathan Woods <npwoods@mess.org>2016-08-18 21:25:28 -0400
commitd3b374d545222740c3473829b26f1a43dc1f6a38 (patch)
treef2d31e056d1c698c5a815182f4727068b19f2aa3 /src/lib
parent9f03cc1aef46d73c36519619c7520023a287ab37 (diff)
Fixed an issue with legacy floppy loading caused by filetype() now being a std::string
This caused 'mame a800 -flop1 brucelee' to fail on startup, but after this fix the image mounts but incorrectly.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/formats/flopimg.cpp8
-rw-r--r--src/lib/formats/flopimg.h4
2 files changed, 6 insertions, 6 deletions
diff --git a/src/lib/formats/flopimg.cpp b/src/lib/formats/flopimg.cpp
index ab28b539bed..48240973d3a 100644
--- a/src/lib/formats/flopimg.cpp
+++ b/src/lib/formats/flopimg.cpp
@@ -97,7 +97,7 @@ static floppy_image_legacy *floppy_init(void *fp, const struct io_procs *procs,
/* main code for identifying and maybe opening a disk image; not exposed
* directly because this function is big and hideous */
-static floperr_t floppy_open_internal(void *fp, const struct io_procs *procs, const char *extension,
+static floperr_t floppy_open_internal(void *fp, const struct io_procs *procs, const std::string &extension,
const struct FloppyFormat *floppy_options, int max_options, int flags, floppy_image_legacy **outfloppy,
int *outoption)
{
@@ -118,7 +118,7 @@ static floperr_t floppy_open_internal(void *fp, const struct io_procs *procs, co
/* vote on the best format */
for (i = 0; (i < max_options) && floppy_options[i].construct; i++)
{
- if (!extension || !floppy_options[i].extensions || image_find_extension(floppy_options[i].extensions, extension))
+ if (extension.empty() || !floppy_options[i].extensions || image_find_extension(floppy_options[i].extensions, extension.c_str()))
{
if (floppy_options[i].identify)
{
@@ -188,7 +188,7 @@ floperr_t floppy_identify(void *fp, const struct io_procs *procs, const char *ex
-floperr_t floppy_open(void *fp, const struct io_procs *procs, const char *extension,
+floperr_t floppy_open(void *fp, const struct io_procs *procs, const std::string &extension,
const struct FloppyFormat *format, int flags, floppy_image_legacy **outfloppy)
{
return floppy_open_internal(fp, procs, extension, format, 1, flags, outfloppy, nullptr);
@@ -196,7 +196,7 @@ floperr_t floppy_open(void *fp, const struct io_procs *procs, const char *extens
-floperr_t floppy_open_choices(void *fp, const struct io_procs *procs, const char *extension,
+floperr_t floppy_open_choices(void *fp, const struct io_procs *procs, const std::string &extension,
const struct FloppyFormat *formats, int flags, floppy_image_legacy **outfloppy)
{
return floppy_open_internal(fp, procs, extension, formats, INT_MAX, flags, outfloppy, nullptr);
diff --git a/src/lib/formats/flopimg.h b/src/lib/formats/flopimg.h
index a329d9a619d..9a8f1513623 100644
--- a/src/lib/formats/flopimg.h
+++ b/src/lib/formats/flopimg.h
@@ -164,8 +164,8 @@ LEGACY_FLOPPY_OPTIONS_EXTERN(default);
OPTION_GUIDE_EXTERN(floppy_option_guide);
/* opening, closing and creating of floppy images */
-floperr_t floppy_open(void *fp, const struct io_procs *procs, const char *extension, const struct FloppyFormat *format, int flags, floppy_image_legacy **outfloppy);
-floperr_t floppy_open_choices(void *fp, const struct io_procs *procs, const char *extension, const struct FloppyFormat *formats, int flags, floppy_image_legacy **outfloppy);
+floperr_t floppy_open(void *fp, const struct io_procs *procs, const std::string &extension, const struct FloppyFormat *format, int flags, floppy_image_legacy **outfloppy);
+floperr_t floppy_open_choices(void *fp, const struct io_procs *procs, const std::string &extension, const struct FloppyFormat *formats, int flags, floppy_image_legacy **outfloppy);
floperr_t floppy_create(void *fp, const struct io_procs *procs, const struct FloppyFormat *format, util::option_resolution *parameters, floppy_image_legacy **outfloppy);
void floppy_close(floppy_image_legacy *floppy);