| 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 | 26 | struct macrodata | |
| 16 | { | ||
| 17 | autoarray<string> lines; | ||
| 18 | int numlines; | ||
| 19 | int startline; | ||
| 20 | const char * fname; | ||
| 21 | const char * const* arguments; | ||
| 22 | int numargs; | ||
| 23 | bool variadic; | ||
| 24 | }; | ||
| 25 | |||
| 26 | extern assocarr<macrodata*> macros; | ||
| 27 | extern macrodata* current_macro; | ||
| 28 | extern const char* const* current_macro_args; | ||
| 29 | extern int current_macro_numargs; | ||
| 30 |