/**
* tal_count - get the count of objects in a tal_arr.
- * @ptr: The tal allocated object array.
+ * @ptr: The tal allocated object array (or NULL)
*
- * Returns 0 if @ptr has no length property, but be aware that that is
- * also a valid size!
+ * Returns 0 if @ptr has no length property or is NULL, but be aware
+ * that that is also a valid size!
*/
#define tal_count(p) (tal_len(p) / sizeof(*p))
/**
* tal_len - get the count of bytes in a tal_arr.
- * @ptr: The tal allocated object array.
+ * @ptr: The tal allocated object array (or NULL)
*
- * Returns 0 if @ptr has no length property, but be aware that that is
+ * Returns 0 if @ptr has no length property or NULL, but be aware that that is
* also a valid size!
*/
size_t tal_len(const tal_t *ptr);
tal_set_backend(my_alloc, my_realloc, my_free, NULL);
- plan_tests(19 * 3);
+ plan_tests(2 + 19 * 3);
+
+ p1 = NULL;
+ ok1(tal_len(p1) == 0);
+ ok1(tal_count(p1) == 0);
for (i = 0; i < 3; i++) {
move = i;
char **ported = get_one_prop(ctx, dir, "ported", get_info);
/* No news is good news. */
- if (!ported || tal_count(ported) == 0)
+ if (tal_count(ported) == 0)
return NULL;
if (tal_count(ported) != 1)