| /* No escape */ |
| #define MESSAGE1 "@var1@" |
| |
| /* Single escape means no replace */ |
| #define MESSAGE2 "\@var1@" |
| |
| /* Replace pairs of escapes before '@' or '\@' with escape characters |
| * (note we have to double number of pairs due to C string escaping) |
| */ |
| #define MESSAGE3 "\\\\@var1@" |
| |
| /* Pairs of escapes and then single escape to avoid replace */ |
| #define MESSAGE4 "\\\\\@var1@" |
| |
| /* Check escaped variable does not overlap following variable */ |
| #define MESSAGE5 "\@var1@var2@" |
| |
| /* Check escape character outside variables */ |
| #define MESSAGE6 "\\ @ \@ \\\\@ \\\\\@" |