From 8c8768c4d03a43342ebd75eb86c1b0521cf719e1 Mon Sep 17 00:00:00 2001 From: Michael Pavone Date: Thu, 12 May 2016 19:26:58 -0700 Subject: Slightly better handling of directory read errors --- menu.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'menu.c') diff --git a/menu.c b/menu.c index 30a42e2..8d215d0 100644 --- a/menu.c +++ b/menu.c @@ -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: { -- cgit v1.2.3