version 1.188, 2012/07/16 09:51:54 |
version 1.190, 2012/11/16 22:21:05 |
Line 1353 post_it(POST_ARGS) |
|
Line 1353 post_it(POST_ARGS) |
|
static int |
static int |
post_bl_block(POST_ARGS) |
post_bl_block(POST_ARGS) |
{ |
{ |
struct mdoc_node *n; |
struct mdoc_node *n, *ni, *nc; |
|
|
/* |
/* |
* These are fairly complicated, so we've broken them into two |
* These are fairly complicated, so we've broken them into two |
Line 1369 post_bl_block(POST_ARGS) |
|
Line 1369 post_bl_block(POST_ARGS) |
|
NULL == n->norm->Bl.width) { |
NULL == n->norm->Bl.width) { |
if ( ! post_bl_block_tag(mdoc)) |
if ( ! post_bl_block_tag(mdoc)) |
return(0); |
return(0); |
|
assert(n->norm->Bl.width); |
} else if (NULL != n->norm->Bl.width) { |
} else if (NULL != n->norm->Bl.width) { |
if ( ! post_bl_block_width(mdoc)) |
if ( ! post_bl_block_width(mdoc)) |
return(0); |
return(0); |
} else |
assert(n->norm->Bl.width); |
return(1); |
} |
|
|
assert(n->norm->Bl.width); |
for (ni = n->body->child; ni; ni = ni->next) { |
|
if (NULL == ni->body) |
|
continue; |
|
nc = ni->body->last; |
|
while (NULL != nc) { |
|
switch (nc->tok) { |
|
case (MDOC_Pp): |
|
/* FALLTHROUGH */ |
|
case (MDOC_Lp): |
|
/* FALLTHROUGH */ |
|
case (MDOC_br): |
|
break; |
|
default: |
|
nc = NULL; |
|
continue; |
|
} |
|
if (NULL == ni->next) { |
|
mdoc_nmsg(mdoc, nc, MANDOCERR_MOVEPAR); |
|
if ( ! mdoc_node_relink(mdoc, nc)) |
|
return(0); |
|
} else if (0 == n->norm->Bl.comp && |
|
LIST_column != n->norm->Bl.type) { |
|
mdoc_nmsg(mdoc, nc, MANDOCERR_IGNPAR); |
|
mdoc_node_delete(mdoc, nc); |
|
} else |
|
break; |
|
nc = ni->body->last; |
|
} |
|
} |
return(1); |
return(1); |
} |
} |
|
|
Line 2176 post_dt(POST_ARGS) |
|
Line 2205 post_dt(POST_ARGS) |
|
free(mdoc->meta.vol); |
free(mdoc->meta.vol); |
mdoc->meta.vol = mandoc_strdup(cp); |
mdoc->meta.vol = mandoc_strdup(cp); |
} else { |
} else { |
/* FIXME: warn about bad arch. */ |
|
cp = mdoc_a2arch(nn->string); |
cp = mdoc_a2arch(nn->string); |
if (NULL == cp) { |
if (NULL == cp) { |
|
mdoc_nmsg(mdoc, nn, MANDOCERR_BADVOLARCH); |
free(mdoc->meta.vol); |
free(mdoc->meta.vol); |
mdoc->meta.vol = mandoc_strdup(nn->string); |
mdoc->meta.vol = mandoc_strdup(nn->string); |
} else |
} else |