20 #if !defined (GDB_OBSTACK_H) 21 #define GDB_OBSTACK_H 1 27 #define OBSTACK_ZALLOC(OBSTACK,TYPE) \ 28 ((TYPE *) memset (obstack_alloc ((OBSTACK), sizeof (TYPE)), 0, sizeof (TYPE))) 30 #define OBSTACK_CALLOC(OBSTACK,NUMBER,TYPE) \ 31 ((TYPE *) memset (obstack_alloc ((OBSTACK), (NUMBER) * sizeof (TYPE)), \ 32 0, (NUMBER) * sizeof (TYPE))) 43 #define obstack_chunk_alloc xmalloc 44 #define obstack_chunk_free xfree 46 #define obstack_grow_str(OBSTACK,STRING) \ 47 obstack_grow (OBSTACK, STRING, strlen (STRING)) 48 #define obstack_grow_str0(OBSTACK,STRING) \ 49 obstack_grow0 (OBSTACK, STRING, strlen (STRING)) 51 #define obstack_grow_wstr(OBSTACK, WSTRING) \ 52 obstack_grow (OBSTACK, WSTRING, sizeof (gdb_wchar_t) * gdb_wcslen (WSTRING)) 59 extern char *
obconcat (
struct obstack *obstackp, ...) ATTRIBUTE_SENTINEL;
64 extern
char *
obstack_strdup (struct obstack *obstackp, const
char *
string);
70 { obstack_init (
this); }
73 { obstack_free (
this, NULL); }
78 { obstack_free (
this, obstack_base (
this)); }
char * obconcat(struct obstack *obstackp,...) ATTRIBUTE_SENTINEL
char * obstack_strdup(struct obstack *obstackp, const char *string)