From 42dcf1902943937854ceacc8e3c72ec40fe2f48c Mon Sep 17 00:00:00 2001 From: Mike Taylor Date: Tue, 4 Jan 2005 21:27:54 +0000 Subject: [PATCH] Return aligned blocks on the smallest boundaries that are suitably aligned for all possible types on the particular architecture YAZ is being built for. --- src/nmem.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/nmem.c b/src/nmem.c index 2a09b75..947a492 100644 --- a/src/nmem.c +++ b/src/nmem.c @@ -2,7 +2,7 @@ * Copyright (c) 1995-2004, Index Data. * See the file LICENSE for details. * - * $Id: nmem.c,v 1.9 2005-01-04 01:25:20 adam Exp $ + * $Id: nmem.c,v 1.10 2005-01-04 21:27:54 mike Exp $ */ /** @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -40,7 +41,21 @@ #endif #define NMEM_CHUNK (4*1024) -#define NMEM_ALIGN (sizeof(long)*2) + +struct align { + char x; + union { + char c; + short s; + int i; + long l; + long long ll; + float f; + double d; + } u; +}; + +#define NMEM_ALIGN (offsetof(struct align, u)) static int log_level=0; static int log_level_initialized=0; -- 1.7.10.4