Fix toolbox build issue when using TW_USE_TOOLBOX=true

Change-Id: I643873b495318d4886b9f8cfaf1b75555d3166c3
diff --git a/toolbox/Android.mk b/toolbox/Android.mk
index 4698cd2..dc4252d 100644
--- a/toolbox/Android.mk
+++ b/toolbox/Android.mk
@@ -220,10 +220,12 @@
     # which takes up more space than is necessary so long as we are still
     # including busybox.
     LOCAL_SRC_FILES += \
-        ../../../$(TWRP_TOOLBOX_PATH)/dynarray.c \
         ../../../$(TWRP_TOOLBOX_PATH)/getprop.c \
         ../../../$(TWRP_TOOLBOX_PATH)/setprop.c
     OUR_TOOLS += getprop setprop
+    ifneq ($(TW_USE_TOOLBOX), true)
+        LOCAL_SRC_FILES += ls.c
+    endif
 endif
 
 LOCAL_MODULE := toolbox_recovery
diff --git a/toolbox/dynarray.c b/toolbox/dynarray.c
deleted file mode 100644
index 3c35aa9..0000000
--- a/toolbox/dynarray.c
+++ /dev/null
@@ -1,104 +0,0 @@
-#include "dynarray.h"
-#include <stdlib.h>
-#include <limits.h>
-#include <string.h>
-
-void
-dynarray_init( dynarray_t *a )
-{
-    a->count = a->capacity = 0;
-    a->items = NULL;
-}
-
-
-static void
-dynarray_reserve_more( dynarray_t *a, int count )
-{
-    int old_cap = a->capacity;
-    int new_cap = old_cap;
-    const int max_cap = INT_MAX/sizeof(void*);
-    void** new_items;
-    int new_count = a->count + count;
-
-    if (count <= 0)
-        return;
-
-    if (count > max_cap - a->count)
-        abort();
-
-    new_count = a->count + count;
-
-    while (new_cap < new_count) {
-        old_cap = new_cap;
-        new_cap += (new_cap >> 2) + 4;
-        if (new_cap < old_cap || new_cap > max_cap) {
-            new_cap = max_cap;
-        }
-    }
-    new_items = realloc(a->items, new_cap*sizeof(void*));
-    if (new_items == NULL)
-        abort();
-
-    a->items = new_items;
-    a->capacity = new_cap;
-}
-
-void
-dynarray_append( dynarray_t *a, void* item )
-{
-    if (a->count >= a->capacity)
-        dynarray_reserve_more(a, 1);
-
-    a->items[a->count++] = item;
-}
-
-void
-dynarray_done( dynarray_t *a )
-{
-    free(a->items);
-    a->items = NULL;
-    a->count = a->capacity = 0;
-}
-
-// string arrays
-
-void strlist_init( strlist_t *list )
-{
-    dynarray_init(list);
-}
-
-void strlist_append_b( strlist_t *list, const void* str, size_t  slen )
-{
-    char *copy = malloc(slen+1);
-    memcpy(copy, str, slen);
-    copy[slen] = '\0';
-    dynarray_append(list, copy);
-}
-
-void strlist_append_dup( strlist_t *list, const char *str)
-{
-    strlist_append_b(list, str, strlen(str));
-}
-
-void strlist_done( strlist_t *list )
-{
-    STRLIST_FOREACH(list, string, free(string));
-    dynarray_done(list);
-}
-
-static int strlist_compare_strings(const void* a, const void* b)
-{
-    const char *sa = *(const char **)a;
-    const char *sb = *(const char **)b;
-    return strcmp(sa, sb);
-}
-
-void strlist_sort( strlist_t *list )
-{
-    if (list->count > 0) {
-        qsort(list->items,
-              (size_t)list->count,
-              sizeof(void*),
-              strlist_compare_strings);
-    }
-}
diff --git a/toolbox/dynarray.h b/toolbox/dynarray.h
index f73fb3b..0ca54fd 100644
--- a/toolbox/dynarray.h
+++ b/toolbox/dynarray.h
@@ -1,6 +1,8 @@
 #ifndef DYNARRAY_H
 #define DYNARRAY_H
 
+// These functions are now found in system/core/toolbox/ls.c
+
 #include <stddef.h>
 
 /* simple dynamic array of pointers */
@@ -77,4 +79,4 @@
 /* sort the strings in a given list (using strcmp) */
 void strlist_sort( strlist_t *list );
 
-#endif /* DYNARRAY_H */
\ No newline at end of file
+#endif /* DYNARRAY_H */