diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | iconv/strtab.c | 5 |
2 files changed, 7 insertions, 2 deletions
@@ -1,3 +1,7 @@ +2001-07-22 Ulrich Drepper <drepper@redhat.com> + + * iconv/strtab.c (morememory): Fix little memory handling problem. + 2001-07-22 Andreas Schwab <schwab@suse.de> * sysdeps/unix/sysv/linux/m68k/sysdep.h (INLINE_SYSCALL): Don't diff --git a/iconv/strtab.c b/iconv/strtab.c index 5b3e328..be79dc2 100644 --- a/iconv/strtab.c +++ b/iconv/strtab.c @@ -22,6 +22,7 @@ #include <assert.h> #include <inttypes.h> +#include <stddef.h> #include <stdlib.h> #include <string.h> #include <unistd.h> @@ -72,7 +73,7 @@ strtabinit (void) { if (ps == 0) { - ps = sysconf (_SC_PAGESIZE) - 2 * sizeof (void); + ps = sysconf (_SC_PAGESIZE) - 2 * sizeof (void *); assert (sizeof (struct memoryblock) < ps); } @@ -94,7 +95,7 @@ morememory (struct Strtab *st, size_t len) newmem->next = st->memory; st->memory = newmem; st->backp = newmem->memory; - st->left = len; + st->left = len - offsetof (struct memoryblock, memory); } |