Another attempt at measuring the minimum alignment for a system.
[rsync/rsync.git] / lib / pool_alloc.c
index 4c93ea1..c5648b6 100644 (file)
@@ -32,7 +32,12 @@ struct pool_extent
        struct pool_extent      *next;
 };
 
-#define MINALIGN       (sizeof (void *))
+struct align_test {
+    void *foo;
+    uint64 bar;
+};
+
+#define MINALIGN       offsetof(struct align_test, bar)
 
 alloc_pool_t
 pool_create(size_t size, size_t quantum,
@@ -90,12 +95,7 @@ pool_alloc(alloc_pool_t p, size_t len, char *bomb)
 {
        struct alloc_pool *pool = (struct alloc_pool *) p;
        if (!pool)
-       {
-               char *msg;
-               if (asprintf(&msg, "pool_alloc(%s) on NULL pool", bomb) > 0)
-                       bomb = msg;
-               goto bomb;
-       }
+               return NULL;
 
        if (!len)
                len = pool->quantum;