summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/filename_list.cxx9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/filename_list.cxx b/src/filename_list.cxx
index b2b3858c7..4276a6cf5 100644
--- a/src/filename_list.cxx
+++ b/src/filename_list.cxx
@@ -91,11 +91,10 @@ int fl_filename_list(const char *d, dirent ***list,
// Use memcpy for speed since we already know the length of the string...
memcpy(name, de->d_name, len+1);
if (fl_filename_isdir(fullname)) {
- if (len<FL_PATH_MAX) {
- char *dst = de->d_name + len;
- *dst++ = '/';
- *dst = 0;
- }
+ (*list)[i] = de = (dirent*)realloc(de, de->d_name - (char*)de + len + 2);
+ char *dst = de->d_name + len;
+ *dst++ = '/';
+ *dst = 0;
}
}
free(fullname);