X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/be2a1a68efe93f7046f77b81346e4c740c14fb40..f377f69fec28013c79db4efe12bbb9d48987fb2c:/src/muscle_tab.h diff --git a/src/muscle_tab.h b/src/muscle_tab.h index 80f09f19..f4a0b96a 100644 --- a/src/muscle_tab.h +++ b/src/muscle_tab.h @@ -32,6 +32,11 @@ typedef struct muscle_entry_s void muscle_init PARAMS ((void)); void muscle_insert PARAMS ((const char *key, const char *value)); const char *muscle_find PARAMS ((const char *key)); +void muscle_free PARAMS ((void)); + + +/* An obstack dedicated to receive muscle keys and values. */ +extern struct obstack muscle_obstack; #define MUSCLE_INSERT_INT(Key, Value) \ { \ @@ -40,6 +45,13 @@ const char *muscle_find PARAMS ((const char *key)); muscle_insert (Key, obstack_finish (&muscle_obstack)); \ } +#define MUSCLE_INSERT_LONG_INT(Key, Value) \ +{ \ + obstack_fgrow1 (&muscle_obstack, "%ld", Value); \ + obstack_1grow (&muscle_obstack, 0); \ + muscle_insert (Key, obstack_finish (&muscle_obstack)); \ +} + #define MUSCLE_INSERT_STRING(Key, Value) \ { \ obstack_sgrow (&muscle_obstack, Value); \