version 1.7, 2019/04/07 15:06:56 |
version 1.8, 2019/04/10 14:22:37 |
Line 203 macro_argline(struct format *f, const char *name, cons |
|
Line 203 macro_argline(struct format *f, const char *name, cons |
|
* Recursively append text from the children of a node to a macro line. |
* Recursively append text from the children of a node to a macro line. |
*/ |
*/ |
void |
void |
macro_addnode(struct format *f, struct pnode *pn, int flags) |
macro_addnode(struct format *f, struct pnode *n, int flags) |
{ |
{ |
struct pnode *nc; |
struct pnode *nc; |
int quote_now; |
int quote_now; |
Line 215 macro_addnode(struct format *f, struct pnode *pn, int |
|
Line 215 macro_addnode(struct format *f, struct pnode *pn, int |
|
* that text, letting macro_addarg() decide about quoting. |
* that text, letting macro_addarg() decide about quoting. |
*/ |
*/ |
|
|
while ((nc = TAILQ_FIRST(&pn->childq)) != NULL && |
while ((nc = TAILQ_FIRST(&n->childq)) != NULL && |
TAILQ_NEXT(nc, child) == NULL) |
TAILQ_NEXT(nc, child) == NULL) |
pn = nc; |
n = nc; |
|
|
if (pn->node == NODE_TEXT || pn->node == NODE_ESCAPE) { |
if (n->node == NODE_TEXT || n->node == NODE_ESCAPE) { |
macro_addarg(f, pn->b, flags); |
macro_addarg(f, n->b, flags); |
return; |
return; |
} |
} |
|
|
Line 258 macro_addnode(struct format *f, struct pnode *pn, int |
|
Line 258 macro_addnode(struct format *f, struct pnode *pn, int |
|
} |
} |
|
|
void |
void |
macro_nodeline(struct format *f, const char *name, struct pnode *pn, int flags) |
macro_nodeline(struct format *f, const char *name, struct pnode *n, int flags) |
{ |
{ |
macro_open(f, name); |
macro_open(f, name); |
macro_addnode(f, pn, ARG_SPACE | flags); |
macro_addnode(f, n, ARG_SPACE | flags); |
macro_close(f); |
macro_close(f); |
} |
} |
|
|