| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | #pragma once | ||
| 2 | |||
| 3 | void startmacro(const char * line); | ||
| 4 | void tomacro(const char * line); | ||
| 5 | void endmacro(bool insert); | ||
| 6 | void callmacro(const char * data); | ||
| 7 | string replace_macro_args(const char* line); | ||
| 8 | |||
| 9 | extern int macrorecursion; | ||
| 10 | extern int calledmacros; | ||
| 11 | extern int reallycalledmacros; | ||
| 12 | extern bool inmacro; | ||
| 13 | extern int numvarargs; | ||
| 14 | |||
| 15 | extern string defining_macro_name; | ||
| 16 | |||
| 17 | 210 | struct macrodata | |
| 18 | { | ||
| 19 | autoarray<string> lines; | ||
| 20 | int numlines; | ||
| 21 | int startline; | ||
| 22 | const char * fname; | ||
| 23 | const char * const* arguments; | ||
| 24 | const char *arguments_buffer; | ||
| 25 | int numargs; | ||
| 26 | bool variadic; | ||
| 27 | const macrodata* parent_macro; | ||
| 28 | int parent_macro_num_varargs; | ||
| 29 | }; | ||
| 30 | |||
| 31 | void freemacro(macrodata* & macro); | ||
| 32 | |||
| 33 | extern assocarr<macrodata*> macros; | ||
| 34 | extern macrodata* current_macro; | ||
| 35 | extern const char* const* current_macro_args; | ||
| 36 | extern int current_macro_numargs; | ||
| 37 |