diff options
author | Michael Pavone <pavone@retrodev.com> | 2016-05-12 19:26:58 -0700 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2016-05-12 19:26:58 -0700 |
commit | 8c8768c4d03a43342ebd75eb86c1b0521cf719e1 (patch) | |
tree | 1ecf1941ab7e2104ac19207ca01abfd43ca5b828 /menu.c | |
parent | 633370ee5f6261d883202ed8690ce801b5b4583c (diff) |
Slightly better handling of directory read errors
Diffstat (limited to 'menu.c')
-rw-r--r-- | menu.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -142,6 +142,10 @@ void * menu_write_w(uint32_t address, void * context, uint16_t value) qsort(entries, num_entries, sizeof(dir_entry), menu_dir_sort); } else { warning("Failed to open directory %s: %s\n", menu->curpath, strerror(errno)); + entries = malloc(sizeof(dir_entry)); + entries->name = strdup(".."); + entries->is_dir = 1; + num_entries = 1; } uint8_t *dest; for (size_t i = 0; i < num_entries; i++) @@ -184,8 +188,8 @@ void * menu_write_w(uint32_t address, void * context, uint16_t value) dest = get_native_pointer(dst, (void **)m68k->mem_pointers, &m68k->options->gen); if (dest) { *dest = dest[1] = 0; - free_dir_list(entries, num_entries); } + free_dir_list(entries, num_entries); break; } case 1: { |