summaryrefslogtreecommitdiffstats
path: root/man_macro.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2009-08-20 13:55:19 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2009-08-20 13:55:19 +0000
commit9768b81771db66dc0c445eb7d36cb683ea31cae0 (patch)
tree6c60e96eeacd15358799431f7e1bf1724d06b384 /man_macro.c
parente00669b973196392c097212c7cbeb901c9760314 (diff)
downloadmandoc-9768b81771db66dc0c445eb7d36cb683ea31cae0.tar.gz
Fixed next-line scope error in libman block macros.
Diffstat (limited to 'man_macro.c')
-rw-r--r--man_macro.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/man_macro.c b/man_macro.c
index 09d2656f..f6b9e1a8 100644
--- a/man_macro.c
+++ b/man_macro.c
@@ -236,6 +236,7 @@ blk_imp(MACRO_PROT_ARGS)
{
int w, la;
char *p;
+ struct man_node *n;
/* Close out prior scopes. */
@@ -251,6 +252,8 @@ blk_imp(MACRO_PROT_ARGS)
if ( ! man_head_alloc(m, line, ppos, tok))
return(0);
+ n = m->last;
+
/* Add line arguments. */
for (;;) {
@@ -268,7 +271,7 @@ blk_imp(MACRO_PROT_ARGS)
/* Close out head and open body (unless MAN_SCOPE). */
- if (MAN_SCOPED & man_macros[tok].flags) {
+ if (n == m->last && MAN_SCOPED & man_macros[tok].flags) {
m->flags |= MAN_BLINE;
return(1);
} else if ( ! rew_scope(MAN_HEAD, m, tok))
@@ -303,7 +306,7 @@ in_line_eoln(MACRO_PROT_ARGS)
return(0);
}
- if (n == m->last && (MAN_SCOPED & man_macros[tok].flags)) {
+ if (n == m->last && MAN_SCOPED & man_macros[tok].flags) {
m->flags |= MAN_ELINE;
return(1);
}