1 #include "talloc/talloc.c"
5 static int ext_alloc_count, ext_free_count, ext_realloc_count;
6 static void *expected_parent;
8 static void *ext_realloc(const void *parent, void *ptr, size_t size)
10 ok1(parent == expected_parent);
17 return realloc(ptr, size);
25 expected_parent = NULL;
26 head = talloc_add_external(NULL, ext_realloc);
28 ok1(ext_alloc_count == 1);
30 expected_parent = head;
31 p = talloc_array(head, char, 1);
32 ok1(ext_alloc_count == 2);
35 /* Child is also externally allocated */
38 ok1(ext_alloc_count == 3);
40 expected_parent = head;
41 p = talloc_realloc(NULL, p, char, 1000);
42 ok1(ext_realloc_count == 1);
47 ok1(ext_free_count == 1);
49 expected_parent = head;
51 ok1(ext_free_count == 2);