Răsfoiți Sursa

misc: split_string: add count_strings(), free_strings()

ambrop7 13 ani în urmă
părinte
comite
6c14da508b
1 a modificat fișierele cu 24 adăugiri și 0 ștergeri
  1. 24 0
      misc/split_string.h

+ 24 - 0
misc/split_string.h

@@ -7,6 +7,7 @@
 #include <limits.h>
 #include <limits.h>
 
 
 #include <misc/balloc.h>
 #include <misc/balloc.h>
+#include <misc/debug.h>
 
 
 static char ** split_string (const char *str, char del)
 static char ** split_string (const char *str, char del)
 {
 {
@@ -72,4 +73,27 @@ fail0:
     return NULL;
     return NULL;
 }
 }
 
 
+static size_t count_strings (char **names)
+{
+    ASSERT(names)
+    
+    size_t i;
+    for (i = 0; names[i]; i++);
+    
+    return i;
+}
+
+static void free_strings (char **names)
+{
+    ASSERT(names)
+    
+    size_t i = count_strings(names);
+    
+    while (i-- > 0) {
+        free(names[i]);
+    }
+    
+    BFree(names);
+}
+
 #endif
 #endif