projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
psppire-var-sheet: Hard-code size of pixbuf cells.
[pspp]
/
src
/
libpspp
/
pool.c
diff --git
a/src/libpspp/pool.c
b/src/libpspp/pool.c
index 7a8a591da58a7e84ebaf6952f784cec17f7571d0..3150c9056b2eb8c91b42662fddf2c590263a9455 100644
(file)
--- a/
src/libpspp/pool.c
+++ b/
src/libpspp/pool.c
@@
-1,5
+1,5
@@
/* PSPP - a program for statistical analysis.
/* PSPP - a program for statistical analysis.
- Copyright (C) 2000, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2010
, 2011, 2012
Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-96,10
+96,16
@@
union align
void (*fp) (void);
long l;
double d;
void (*fp) (void);
long l;
double d;
+
+ /* glibc jmp_buf on ia64 requires 16-byte alignment. This ensures it. */
+ size_t s[2];
};
/* This should be the alignment size used by malloc(). The size of
};
/* This should be the alignment size used by malloc(). The size of
- the union above is correct, if not optimal, in all known cases. */
+ the union above is correct, if not optimal, in all known cases.
+
+ This is normally 8 bytes for 32-bit architectures and 16 bytes for 64-bit
+ architectures. */
#define ALIGN_SIZE sizeof (union align)
/* DISCRETE_BLOCKS may be declared as nonzero to prevent
#define ALIGN_SIZE sizeof (union align)
/* DISCRETE_BLOCKS may be declared as nonzero to prevent
@@
-299,7
+305,8
@@
pool_alloc (struct pool *pool, size_t amt)
void *
pool_alloc_unaligned (struct pool *pool, size_t amt)
{
void *
pool_alloc_unaligned (struct pool *pool, size_t amt)
{
- assert (pool != NULL);
+ if (pool == NULL)
+ return xmalloc (amt);
#ifndef DISCRETE_BLOCKS
/* Strings need not be aligned on any boundary, but some
#ifndef DISCRETE_BLOCKS
/* Strings need not be aligned on any boundary, but some