version 1.203, 2012/11/17 00:26:33 |
version 1.207, 2013/12/31 23:23:11 |
|
|
/* $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 Ingo Schwarze <schwarze@openbsd.org> |
* Copyright (c) 2010, 2012, 2013 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 295 mdoc_parseln(struct mdoc *mdoc, int ln, char *buf, int |
|
Line 295 mdoc_parseln(struct mdoc *mdoc, int ln, char *buf, int |
|
* whether this mode is on or off. |
* whether this mode is on or off. |
* Note that this mode is also switched by the Sh macro. |
* Note that this mode is also switched by the Sh macro. |
*/ |
*/ |
if (roff_regisset(mdoc->roff, REG_nS)) { |
if (roff_getreg(mdoc->roff, "nS")) |
if (roff_regget(mdoc->roff, REG_nS)) |
mdoc->flags |= MDOC_SYNOPSIS; |
mdoc->flags |= MDOC_SYNOPSIS; |
else |
else |
mdoc->flags &= ~MDOC_SYNOPSIS; |
mdoc->flags &= ~MDOC_SYNOPSIS; |
|
} |
|
|
|
return(roff_getcontrol(mdoc->roff, buf, &offs) ? |
return(roff_getcontrol(mdoc->roff, buf, &offs) ? |
mdoc_pmacro(mdoc, ln, buf, offs) : |
mdoc_pmacro(mdoc, ln, buf, offs) : |
Line 436 node_alloc(struct mdoc *mdoc, int line, int pos, |
|
Line 434 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 584 mdoc_word_alloc(struct mdoc *mdoc, int line, int pos, |
|
Line 583 mdoc_word_alloc(struct mdoc *mdoc, int line, int pos, |
|
return(1); |
return(1); |
} |
} |
|
|
|
void |
|
mdoc_word_append(struct mdoc *mdoc, const char *p) |
|
{ |
|
struct mdoc_node *n; |
|
char *addstr, *newstr; |
|
|
|
n = mdoc->last; |
|
addstr = roff_strdup(mdoc->roff, p); |
|
if (-1 == asprintf(&newstr, "%s %s", n->string, addstr)) { |
|
perror(NULL); |
|
exit((int)MANDOCLEVEL_SYSERR); |
|
} |
|
free(addstr); |
|
free(n->string); |
|
n->string = newstr; |
|
mdoc->next = MDOC_NEXT_SIBLING; |
|
} |
|
|
static void |
static void |
mdoc_node_free(struct mdoc_node *p) |
mdoc_node_free(struct mdoc_node *p) |
{ |
{ |
Line 830 mdoc_ptext(struct mdoc *mdoc, int line, char *buf, int |
|
Line 846 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); |