version 1.31, 2005/05/29 18:44:36 |
version 1.32, 2006/03/20 10:55:19 |
|
|
#include <stdlib.h> |
#include <stdlib.h> |
#include <stdio.h> |
#include <stdio.h> |
#include <string.h> |
#include <string.h> |
#include <err.h> |
|
#include <errno.h> |
#include <errno.h> |
#include <unistd.h> |
#include <unistd.h> |
#include "mdef.h" |
#include "mdef.h" |
|
|
|
|
n = lookup(argv[2]); |
n = lookup(argv[2]); |
if (n == NULL || (p = macro_getdef(n)) == NULL) |
if (n == NULL || (p = macro_getdef(n)) == NULL) |
errx(1, "undefined macro %s", argv[2]); |
m4errx(1, "indir: undefined macro %s.", argv[2]); |
argv[1] = p->defn; |
argv[1] = p->defn; |
|
|
eval(argv+1, argc-1, p->type, is_traced(n)); |
eval(argv+1, argc-1, p->type, is_traced(n)); |
|
|
if (p != NULL) |
if (p != NULL) |
eval(argv+1, argc-1, macro_builtin_type(p), is_traced(p)); |
eval(argv+1, argc-1, macro_builtin_type(p), is_traced(p)); |
else |
else |
errx(1, "unknown builtin %s", argv[2]); |
m4errx(1, "unknown builtin %s.", argv[2]); |
} |
} |
|
|
|
|
|
|
errbuf = xalloc(errlen, |
errbuf = xalloc(errlen, |
"malloc in regerror: %lu", (unsigned long)errlen); |
"malloc in regerror: %lu", (unsigned long)errlen); |
regerror(er, re, errbuf, errlen); |
regerror(er, re, errbuf, errlen); |
errx(1, "%s at line %lu: regular expression error: %s", |
m4errx(1, "regular expression error: %s.", errbuf); |
CURRENT_NAME, CURRENT_LINE, errbuf); |
|
} |
} |
|
|
static void |
static void |