version 1.11, 2019/04/12 09:01:48 |
version 1.12, 2019/04/14 12:59:15 |
Line 112 macro_addarg(struct format *f, const char *arg, int fl |
|
Line 112 macro_addarg(struct format *f, const char *arg, int fl |
|
|
|
/* Escape us if we look like a macro. */ |
/* Escape us if we look like a macro. */ |
|
|
if ((flags & ARG_QUOTED) == 0 && |
if ((flags & (ARG_QUOTED | ARG_UPPER)) == 0 && |
(cp == arg || isspace((unsigned char)cp[-1])) && |
(cp == arg || isspace((unsigned char)cp[-1])) && |
isupper((unsigned char)cp[0]) && |
isupper((unsigned char)cp[0]) && |
islower((unsigned char)cp[1]) && |
islower((unsigned char)cp[1]) && |
(cp[2] == '\0' || cp[2] == ' ' || |
(cp[2] == '\0' || cp[2] == ' ' || |
(islower((unsigned char)cp[2]) && |
((cp[3] == '\0' || cp[3] == ' ') && |
(cp[3] == '\0' || cp[3] == ' ')))) |
(strncmp(cp, "Brq", 3) == 0 || |
|
strncmp(cp, "Bro", 3) == 0 || |
|
strncmp(cp, "Brc", 3) == 0 || |
|
strncmp(cp, "Bsx", 3) == 0)))) |
fputs("\\&", stdout); |
fputs("\\&", stdout); |
|
|
if (*cp == '"') |
if (*cp == '"') |