-#define GARY_INIT(ptr, n) (ptr) = gary_init(sizeof(*(ptr)), (n))
-#define GARY_FREE(ptr) xfree(GARY_HDR(ptr))
+#define GARY_INIT(ptr, n) (ptr) = gary_init(sizeof(*(ptr)), (n), 0)
+#define GARY_INIT_ZERO(ptr, n) (ptr) = gary_init(sizeof(*(ptr)), (n), 1)
+#define GARY_FREE(ptr) do { if (ptr) xfree(GARY_HDR(ptr)); } while (0)