Mercurial > hg > octave-lojdl > gnulib-hg
changeset 5173:663a1b941e51
(obstack_empty_p): Don't assume that chunk->contents is suitably
aligned.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Tue, 10 Aug 2004 05:16:29 +0000 |
parents | 43b6cc039c49 |
children | 7beb82c9f4d7 |
files | lib/obstack.h |
diffstat | 1 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/obstack.h +++ b/lib/obstack.h @@ -287,7 +287,10 @@ # define obstack_empty_p(OBSTACK) \ __extension__ \ ({ struct obstack const *__o = (OBSTACK); \ - (__o->chunk->prev == 0 && __o->next_free - __o->chunk->contents == 0); }) + (__o->chunk->prev == 0 \ + && __o->next_free == __PTR_ALIGN ((char *) __o->chunk, \ + __o->chunk->contents, \ + __o->alignment_mask)); }) # define obstack_grow(OBSTACK,where,length) \ __extension__ \ @@ -411,7 +414,10 @@ (unsigned) ((h)->chunk_limit - (h)->next_free) # define obstack_empty_p(h) \ - ((h)->chunk->prev == 0 && (h)->next_free - (h)->chunk->contents == 0) + ((h)->chunk->prev == 0 \ + && (h)->next_free == __PTR_ALIGN ((char *) (h)->chunk, \ + (h)->chunk->contents, \ + (h)->alignment_mask)) /* Note that the call to _obstack_newchunk is enclosed in (..., 0) so that we can avoid having void expressions