version 1.205, 2013/10/21 23:47:58 |
version 1.208, 2014/01/05 20:26:36 |
|
|
/* $Id$ */ |
/* $Id$ */ |
/* |
/* |
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2010, 2012, 2013 Ingo Schwarze <schwarze@openbsd.org> |
* Copyright (c) 2010, 2012, 2013, 2014 Ingo Schwarze <schwarze@openbsd.org> |
* |
* |
* Permission to use, copy, modify, and distribute this software for any |
* Permission to use, copy, modify, and distribute this software for any |
* purpose with or without fee is hereby granted, provided that the above |
* purpose with or without fee is hereby granted, provided that the above |
Line 197 mdoc_free(struct mdoc *mdoc) |
|
Line 197 mdoc_free(struct mdoc *mdoc) |
|
* Allocate volatile and non-volatile parse resources. |
* Allocate volatile and non-volatile parse resources. |
*/ |
*/ |
struct mdoc * |
struct mdoc * |
mdoc_alloc(struct roff *roff, struct mparse *parse, char *defos) |
mdoc_alloc(struct roff *roff, struct mparse *parse, |
|
char *defos, int quick) |
{ |
{ |
struct mdoc *p; |
struct mdoc *p; |
|
|
Line 205 mdoc_alloc(struct roff *roff, struct mparse *parse, ch |
|
Line 206 mdoc_alloc(struct roff *roff, struct mparse *parse, ch |
|
|
|
p->parse = parse; |
p->parse = parse; |
p->defos = defos; |
p->defos = defos; |
|
p->quick = quick; |
p->roff = roff; |
p->roff = roff; |
|
|
mdoc_hash_init(); |
mdoc_hash_init(); |
Line 434 node_alloc(struct mdoc *mdoc, int line, int pos, |
|
Line 436 node_alloc(struct mdoc *mdoc, int line, int pos, |
|
p->sec = mdoc->lastsec; |
p->sec = mdoc->lastsec; |
p->line = line; |
p->line = line; |
p->pos = pos; |
p->pos = pos; |
|
p->lastline = line; |
p->tok = tok; |
p->tok = tok; |
p->type = type; |
p->type = type; |
|
|
Line 845 mdoc_ptext(struct mdoc *mdoc, int line, char *buf, int |
|
Line 848 mdoc_ptext(struct mdoc *mdoc, int line, char *buf, int |
|
|
|
assert(buf < end); |
assert(buf < end); |
|
|
if (mandoc_eos(buf+offs, (size_t)(end-buf-offs), 0)) |
if (mandoc_eos(buf+offs, (size_t)(end-buf-offs))) |
mdoc->last->flags |= MDOC_EOS; |
mdoc->last->flags |= MDOC_EOS; |
|
|
return(1); |
return(1); |
Line 959 mdoc_pmacro(struct mdoc *mdoc, int ln, char *buf, int |
|
Line 962 mdoc_pmacro(struct mdoc *mdoc, int ln, char *buf, int |
|
|
|
if ( ! mdoc_macro(mdoc, tok, ln, sv, &offs, buf)) |
if ( ! mdoc_macro(mdoc, tok, ln, sv, &offs, buf)) |
goto err; |
goto err; |
|
|
|
/* In quick mode (for mandocdb), abort after the NAME section. */ |
|
|
|
if (mdoc->quick && MDOC_Sh == tok && |
|
SEC_NAME != mdoc->last->sec) |
|
return(2); |
|
|
return(1); |
return(1); |
|
|