X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fobstack.h;h=137e3ff70f34e4c63dc70152e68e50ae390aab78;hb=f2fc5d0435206e297da5cb1ff89e9c0abda835a3;hp=1f0b5269b3c8daaa28f638a8b03baaf9441b9c67;hpb=d6435a176cbcb69561f62652a0c02e6125e14685;p=gnulib.git diff --git a/lib/obstack.h b/lib/obstack.h index 1f0b5269b..137e3ff70 100644 --- a/lib/obstack.h +++ b/lib/obstack.h @@ -103,6 +103,10 @@ Summary: #ifndef __OBSTACK_H__ #define __OBSTACK_H__ +#ifdef HAVE_CONFIG_H +# include +#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. */ @@ -138,6 +142,15 @@ Summary: #define PTR_INT_TYPE long #endif +#if HAVE_STRING_H || STDC_HEADERS +# include +# ifndef bcopy +# define bcopy(s, d, n) memcpy ((d), (s), (n)) +# endif +#else /* HAVE_STRING_H || STDC_HEADERS */ +# include +#endif /* not (HAVE_STRING_H || STDC_HEADERS) */ + struct _obstack_chunk /* Lives at front of each chunk. */ { char *limit; /* 1 past end of this chunk */ @@ -331,7 +344,7 @@ __extension__ \ /* These assume that the obstack alignment is good enough for pointers or ints, and that the data added so far to the current object shares that much alignment. */ - + #define obstack_ptr_grow(OBSTACK,datum) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \