Code was using two string_lists, one for the directories and one for the files. The code never checks the lists independently so we should be able to only use one list. The string_list also is a O(log n) for lookup and insertion. Switching this to use a hashmap will give O(1) which will save some time when there are millions of paths that will be checked. Also cleaned up a memory leak and method where the return was not being used. Kevin Willford (3): merge-recursive: fix memory leak merge-recursive: remove return value from get_files_dirs merge-recursive: change current file dir string_lists to hashmap merge-recursive.c | 68 +++++++++++++++++++++++++++++++++++++++---------------- merge-recursive.h | 3 +-- 2 files changed, 49 insertions(+), 22 deletions(-) -- 2.14.1.329.g6edf0add19