]> mj.ucw.cz Git - libucw.git/blobdiff - ucw/gary.h
ABI: Symbol renames for libucw and libcharset
[libucw.git] / ucw / gary.h
index b87a6fef03c36c5debe42ab9a21e6b0cbc9215b9..600dd5007ab65a5bd2fdda2c36f7da92c6c83b24 100644 (file)
@@ -1,12 +1,20 @@
 /*
  *     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
 #define _UCW_GARY_H
 
+#ifdef CONFIG_UCW_CLEAN_ABI
+#define gary_fix ucw_gary_fix
+#define gary_free ucw_gary_free
+#define gary_init ucw_gary_init
+#define gary_push_helper ucw_gary_push_helper
+#define gary_set_size ucw_gary_set_size
+#endif
+
 struct gary_hdr {
   size_t num_elts;
   size_t have_space;
@@ -20,9 +28,11 @@ 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); (GARY_HDR(ptr))->num_elts = 0; } while (0)
+#define GARY_INIT_SPACE_ZERO(ptr, n) do { GARY_INIT_ZERO(ptr, n); (GARY_HDR(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))
+#define GARY_RESIZE(ptr, n) ((ptr) = gary_set_size((ptr), (n)))
 #define GARY_INIT_OR_RESIZE(ptr, n) (ptr) = (ptr) ? gary_set_size((ptr), (n)) : gary_init(sizeof(*(ptr)), (n), 0)
 
 #define GARY_PUSH(ptr, n) ({                                           \