From 2b3334fc2358eb942fafb72deab2faf58965bc3b Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 12 Apr 2013 12:41:49 +0200 Subject: [PATCH] (RMenu) use memcpy/memset to copy over/flush from one struct to another (for pop_menu_stack/push_menu_stack purposes) --- frontend/menu/rmenu.c | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/frontend/menu/rmenu.c b/frontend/menu/rmenu.c index a9b13c1441..f2f0538051 100644 --- a/frontend/menu/rmenu.c +++ b/frontend/menu/rmenu.c @@ -299,21 +299,12 @@ static void menu_stack_pop(void) { if (browser->prev_dir.directory_path[0] != '\0') { - strlcpy(browser->current_dir.directory_path, browser->prev_dir.directory_path, - sizeof(browser->current_dir.directory_path)); - strlcpy(browser->current_dir.extensions, browser->prev_dir.extensions, - sizeof(browser->current_dir.extensions)); - strlcpy(browser->current_dir.root_dir, browser->prev_dir.root_dir, - sizeof(browser->current_dir.root_dir)); + memcpy(&browser->current_dir, &browser->prev_dir, sizeof(*(&browser->current_dir))); filebrowser_iterate(browser, FILEBROWSER_ACTION_RESET_CURRENT_DIR); browser->current_dir.ptr = browser->prev_dir.ptr; strlcpy(browser->current_dir.path, browser->prev_dir.path, sizeof(browser->current_dir.path)); - browser->prev_dir.ptr = 0; - browser->prev_dir.path[0] = '\0'; - browser->prev_dir.directory_path[0] = '\0'; - browser->prev_dir.extensions[0] = '\0'; - browser->prev_dir.root_dir[0] = '\0'; + memset(&browser->prev_dir, 0, sizeof(*(&browser->prev_dir))); } if (stack_idx > 1) @@ -324,14 +315,7 @@ static void menu_stack_push(unsigned menu_id, bool prev_dir) { if (prev_dir) { - strlcpy(browser->prev_dir.directory_path, browser->current_dir.directory_path, - sizeof(browser->prev_dir.directory_path)); - strlcpy(browser->prev_dir.extensions, browser->current_dir.extensions, - sizeof(browser->prev_dir.extensions)); - strlcpy(browser->prev_dir.root_dir, browser->current_dir.root_dir, - sizeof(browser->prev_dir.root_dir)); - strlcpy(browser->prev_dir.path, browser->current_dir.path, - sizeof(browser->prev_dir.path)); + memcpy(&browser->prev_dir, &browser->current_dir, sizeof(*(&browser->prev_dir))); browser->prev_dir.ptr = browser->current_dir.ptr; }