trunk/src/emu/machine.c
| r245313 | r245314 | |
| 1217 | 1217 | const char *software = image_parent_basename(&device); |
| 1218 | 1218 | if (software!=NULL && strlen(software)>0) |
| 1219 | 1219 | { |
| 1220 | | result.cat('\\').cat(software); |
| 1220 | result.cat(PATH_SEPARATOR).cat(software); |
| 1221 | 1221 | } |
| 1222 | 1222 | astring tag(device.tag()); |
| 1223 | 1223 | tag.del(0, 1).replacechr(':', '_'); |
| 1224 | | result.cat('\\').cat(tag); |
| 1224 | result.cat(PATH_SEPARATOR).cat(tag); |
| 1225 | 1225 | } |
| 1226 | 1226 | return result; |
| 1227 | 1227 | } |
trunk/src/osd/windows/winfile.c
| r245313 | r245314 | |
| 48 | 48 | |
| 49 | 49 | file_error osd_open(const char *path, UINT32 openflags, osd_file **file, UINT64 *filesize) |
| 50 | 50 | { |
| 51 | | DWORD disposition, access, sharemode; |
| 52 | 51 | file_error filerr = FILERR_NONE; |
| 53 | | const TCHAR *src; |
| 54 | | DWORD upper; |
| 55 | | TCHAR *t_path; |
| 56 | | TCHAR *dst; |
| 57 | 52 | |
| 58 | 53 | // convert path to TCHAR |
| 59 | | t_path = tstring_from_utf8(path); |
| 54 | TCHAR *t_path = tstring_from_utf8(path); |
| 60 | 55 | if (t_path == NULL) |
| 61 | 56 | { |
| 62 | 57 | filerr = FILERR_OUT_OF_MEMORY; |
| r245313 | r245314 | |
| 89 | 84 | (*file)->type = WINFILE_FILE; |
| 90 | 85 | |
| 91 | 86 | // convert the path into something Windows compatible |
| 92 | | dst = (*file)->filename; |
| 93 | | #if defined(SDLMAME_WIN32) || defined(SDLMAME_OS2) |
| 94 | | for (src = t_path; *src != 0; src++) |
| 95 | | *dst++ = (*src == '/') ? '\\' : *src; |
| 96 | | #else |
| 97 | | for (src = t_path; *src != 0; src++) |
| 98 | | *dst++ = *src;//(*src == '/') ? '\\' : *src; |
| 99 | | #endif |
| 100 | | *dst++ = 0; |
| 87 | { |
| 88 | TCHAR *dst = (*file)->filename; |
| 89 | for (TCHAR const *src = t_path; *src != 0; src++) |
| 90 | *dst++ = *src;//(*src == '/') ? '\\' : *src; |
| 91 | *dst++ = 0; |
| 92 | } |
| 101 | 93 | |
| 102 | 94 | // select the file open modes |
| 95 | DWORD disposition, access, sharemode; |
| 103 | 96 | if (openflags & OPEN_FLAG_WRITE) |
| 104 | 97 | { |
| 105 | 98 | disposition = (!is_path_to_physical_drive(path) && (openflags & OPEN_FLAG_CREATE)) ? CREATE_ALWAYS : OPEN_EXISTING; |
| r245313 | r245314 | |
| 149 | 142 | } |
| 150 | 143 | |
| 151 | 144 | // get the file size |
| 145 | DWORD upper; |
| 152 | 146 | *filesize = GetFileSize((*file)->handle, &upper); |
| 153 | 147 | *filesize |= (UINT64)upper << 32; |
| 154 | 148 | |