mac: Image card now accepts paths starting with '$' for your $HOME needs. Also fixed a crash if the path is invalid. [R. Belmont]

This commit is contained in:
arbee 2015-05-31 15:55:57 -04:00
parent bf4f1beaa2
commit 14a019da20

View File

@ -282,7 +282,7 @@ WRITE32_MEMBER( nubus_image_device::file_cmd_w )
strcpy((char*)filectx.filename, (char*)filectx.curdir);
break;
case kFileCmdSetDir:
if(filectx.filename[0] == '/') {
if ((filectx.filename[0] == '/') || (filectx.filename[0] == '$')) {
strcpy((char*)filectx.curdir, (char*)filectx.filename);
} else {
strcat((char*)filectx.curdir, "/");
@ -293,12 +293,17 @@ WRITE32_MEMBER( nubus_image_device::file_cmd_w )
if(filectx.dirp) osd_closedir(filectx.dirp);
filectx.dirp = osd_opendir((const char *)filectx.curdir);
case kFileCmdGetNextListing:
if (filectx.dirp) {
dp = osd_readdir(filectx.dirp);
if(dp) {
strncpy((char*)filectx.filename, dp->name, sizeof(filectx.filename));
} else {
memset(filectx.filename, 0, sizeof(filectx.filename));
}
}
else {
memset(filectx.filename, 0, sizeof(filectx.filename));
}
break;
case kFileCmdGetFile:
memset(fullpath, 0, sizeof(fullpath));