Mercurial > hg > octave-kai > gnulib-hg
changeset 995:f98b28e4e063
update from glibc
author | Jim Meyering <jim@meyering.net> |
---|---|
date | Fri, 22 Aug 1997 14:55:01 +0000 |
parents | aa36172463a6 |
children | 234fcf0ce396 |
files | lib/obstack.c lib/obstack.h |
diffstat | 2 files changed, 13 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/obstack.c +++ b/lib/obstack.c @@ -85,7 +85,7 @@ #endif /* Exit value used when `print_and_abort' is used. */ -#if defined (__STDC__) && __STDC__ +#if defined __GNU_LIBRARY__ || defined HAVE_STDLIB_H #include <stdlib.h> #endif #ifndef EXIT_FAILURE
--- a/lib/obstack.h +++ b/lib/obstack.h @@ -107,6 +107,10 @@ #ifndef __OBSTACK_H__ #define __OBSTACK_H__ +#ifdef __cplusplus +extern "C" { +#endif + /* We use subtraction of (char *) 0 instead of casting to int because on word-addressable machines a simple cast to int may ignore the byte-within-word field of the pointer. */ @@ -303,13 +307,14 @@ #define obstack_specify_allocation_with_arg(h, size, alignment, chunkfun, freefun, arg) \ _obstack_begin_1 ((h), (size), (alignment), \ - (void *(*) (long)) (chunkfun), (void (*) (void *)) (freefun), (arg)) + (void *(*) (void *, long)) (chunkfun), \ + (void (*) (void *, void *)) (freefun), (arg)) #define obstack_chunkfun(h, newchunkfun) \ - ((h) -> chunkfun = (struct _obstack_chunk *(*)(long)) (newchunkfun)) + ((h) -> chunkfun = (struct _obstack_chunk *(*)(void *, long)) (newchunkfun)) #define obstack_freefun(h, newfreefun) \ - ((h) -> freefun = (void (*)(void *)) (newfreefun)) + ((h) -> freefun = (void (*)(void *, struct _obstack_chunk *)) (newfreefun)) #else @@ -578,4 +583,8 @@ #endif /* not __GNUC__ or not __STDC__ */ +#ifdef __cplusplus +} /* C++ */ +#endif + #endif /* not __OBSTACK_H__ */