summaryrefslogtreecommitdiffstatshomepage
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
commitae2b287ef2088f53321de7169c418c343de17a65 (patch)
tree2917172dcfde24f22ec45a29ac84db16352fe594
parentc8851c4bc15085865d2e6cb7f1434c3ad94b196e (diff)
downloadmandoc-ae2b287ef2088f53321de7169c418c343de17a65.tar.gz
mandoc-ae2b287ef2088f53321de7169c418c343de17a65.tar.zst
mandoc-ae2b287ef2088f53321de7169c418c343de17a65.zip
Fixed next-line scope error in libman block macros.
-rw-r--r--man_macro.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/man_macro.c b/man_macro.c
index bc39053f..0622d255 100644
--- a/man_macro.c
+++ b/man_macro.c
@@ -1,4 +1,4 @@
-/* $Id: man_macro.c,v 1.24 2009/08/20 13:51:55 kristaps Exp $ */
+/* $Id: man_macro.c,v 1.25 2009/08/20 13:55:19 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -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);
}