]> arthur.barton.de Git - netatalk.git/commitdiff
Add function dalloc_size
authorFrank Lahm <franklahm@googlemail.com>
Thu, 20 Sep 2012 14:51:20 +0000 (16:51 +0200)
committerFrank Lahm <franklahm@googlemail.com>
Thu, 20 Sep 2012 14:51:20 +0000 (16:51 +0200)
include/atalk/dalloc.h
libatalk/talloc/dalloc.c

index 51ebf02b47700b5540d0647c9489c2ef8a821b5c..a9ce782d23fff166ce42181b8f354f05fe631d5c 100644 (file)
@@ -32,5 +32,5 @@ extern int dalloc_add_talloc_chunk(DALLOC_CTX *dd, void *talloc_chunk, void *obj
 #define dalloc_add(d, obj, type) dalloc_add_talloc_chunk((d), talloc((d), type), (obj), sizeof(type));
 extern void *dalloc_get(const DALLOC_CTX *d, ...);
 extern void *dalloc_value_for_key(const DALLOC_CTX *d, ...);
-
+extern int dalloc_size(DALLOC_CTX *d);
 #endif  /* DALLOC_H */
index 70c75e3b53e0a23f5ab1fde019c31a3e78f33137..7f4ffd36a1f5d16e307f6cd950fa1a63057834cf 100644 (file)
@@ -43,6 +43,14 @@ int dalloc_add_talloc_chunk(DALLOC_CTX *dd, void *talloc_chunk, void *obj, size_
     return 0;
 }
 
+/* Get number of elements, returns 0 if the structure is empty or not initialized */
+int dalloc_size(DALLOC_CTX *d)
+{
+    if (!d || !d->dd_talloc_array)
+        return 0;
+    return talloc_array_length(d->dd_talloc_array);
+}
+
 void *dalloc_get(const DALLOC_CTX *d, ...)
 {
     EC_INIT;