From f00ec13c0f2e3080dc2fdeb440c34354ce4c0d70 Mon Sep 17 00:00:00 2001 From: Kp Date: Sun, 26 Apr 2015 20:15:50 +0000 Subject: [PATCH] Use std::move_backward for file_getdirlist --- common/ui/file.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/common/ui/file.cpp b/common/ui/file.cpp index 14bb7dc25..a296dbd94 100644 --- a/common/ui/file.cpp +++ b/common/ui/file.cpp @@ -68,10 +68,11 @@ static char **file_getdirlist(int *NumDirs, const char *dir) { // Put the 'go to parent directory' sequence '..' first (*NumDirs)++; - list = (char **)realloc(list, sizeof(char *)*(*NumDirs + 1)); - list[*NumDirs] = NULL; // terminate - for (i = list + *NumDirs - 1; i != list; i--) - *i = i[-1]; + auto r = reinterpret_cast(realloc(list, sizeof(char *)*(*NumDirs + 1))); + if (!r) + return list; + list = r; + std::move_backward(list, list + *NumDirs, list + *NumDirs + 1); list[0] = d_strdup(".."); }