]> mj.ucw.cz Git - libucw.git/commitdiff
gary: Added GARY_INIT_SPACE(_ZERO)
authorMartin Mares <mj@ucw.cz>
Mon, 22 Jul 2013 08:08:13 +0000 (10:08 +0200)
committerMartin Mares <mj@ucw.cz>
Mon, 22 Jul 2013 08:08:13 +0000 (10:08 +0200)
ucw/gary.h

index 6b4adfb1d36c5ec52cd5b583c01c3ef5d588a78b..5630bc2fb5645a5ee6615f43eb531b0eaa5aed65 100644 (file)
@@ -1,7 +1,7 @@
 /*
  *     UCW Library -- A simple growing array of an arbitrary type
  *
- *     (c) 2010--2012 Martin Mares <mj@ucw.cz>
+ *     (c) 2010--2013 Martin Mares <mj@ucw.cz>
  */
 
 #ifndef _UCW_GARY_H
@@ -20,6 +20,8 @@ struct gary_hdr {
 
 #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_INIT_SPACE(ptr, n) do { GARY_INIT(ptr, n); (ptr)->num_elts = 0; } while (0)
+#define GARY_INIT_SPACE_ZERO(ptr, n) do { GARY_INIT_ZERO(ptr, n); (ptr)->num_elts = 0; } while (0)
 #define GARY_FREE(ptr) do { if (ptr) xfree(GARY_HDR(ptr)); } while (0)
 #define GARY_SIZE(ptr) (GARY_HDR(ptr)->num_elts)
 #define GARY_RESIZE(ptr, n) ((ptr) = gary_set_size((ptr), (n)))