version 1.102, 2015/04/02 22:48:17 |
version 1.104, 2015/04/19 14:00:19 |
|
|
/* $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) 2012, 2014 Ingo Schwarze <schwarze@openbsd.org> |
* Copyright (c) 2012, 2014, 2015 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 |
|
|
}; |
}; |
|
|
static void argn_free(struct mdoc_arg *, int); |
static void argn_free(struct mdoc_arg *, int); |
static enum margserr args(struct mdoc *, int, int *, |
static enum margserr args(struct roff_man *, int, int *, |
char *, enum argsflag, char **); |
char *, enum argsflag, char **); |
static int args_checkpunct(const char *, int); |
static int args_checkpunct(const char *, int); |
static void argv_multi(struct mdoc *, int, |
static void argv_multi(struct roff_man *, int, |
struct mdoc_argv *, int *, char *); |
struct mdoc_argv *, int *, char *); |
static void argv_single(struct mdoc *, int, |
static void argv_single(struct roff_man *, int, |
struct mdoc_argv *, int *, char *); |
struct mdoc_argv *, int *, char *); |
|
|
static const enum argvflag argvflags[MDOC_ARG_MAX] = { |
static const enum argvflag argvflags[MDOC_ARG_MAX] = { |
Line 276 static const struct mdocarg mdocargs[MDOC_MAX] = { |
|
Line 276 static const struct mdocarg mdocargs[MDOC_MAX] = { |
|
* Some flags take no argument, some one, some multiple. |
* Some flags take no argument, some one, some multiple. |
*/ |
*/ |
void |
void |
mdoc_argv(struct mdoc *mdoc, int line, int tok, |
mdoc_argv(struct roff_man *mdoc, int line, int tok, |
struct mdoc_arg **reta, int *pos, char *buf) |
struct mdoc_arg **reta, int *pos, char *buf) |
{ |
{ |
struct mdoc_argv tmpv; |
struct mdoc_argv tmpv; |
Line 413 argn_free(struct mdoc_arg *p, int iarg) |
|
Line 413 argn_free(struct mdoc_arg *p, int iarg) |
|
} |
} |
|
|
enum margserr |
enum margserr |
mdoc_args(struct mdoc *mdoc, int line, int *pos, |
mdoc_args(struct roff_man *mdoc, int line, int *pos, |
char *buf, int tok, char **v) |
char *buf, int tok, char **v) |
{ |
{ |
struct roff_node *n; |
struct roff_node *n; |
Line 422 mdoc_args(struct mdoc *mdoc, int line, int *pos, |
|
Line 422 mdoc_args(struct mdoc *mdoc, int line, int *pos, |
|
|
|
if (v == NULL) |
if (v == NULL) |
v = &v_local; |
v = &v_local; |
fl = tok == MDOC_MAX ? ARGSFL_NONE : mdocargs[tok].flags; |
fl = tok == TOKEN_NONE ? ARGSFL_NONE : mdocargs[tok].flags; |
if (tok != MDOC_It) |
if (tok != MDOC_It) |
return(args(mdoc, line, pos, buf, fl, v)); |
return(args(mdoc, line, pos, buf, fl, v)); |
|
|
Line 444 mdoc_args(struct mdoc *mdoc, int line, int *pos, |
|
Line 444 mdoc_args(struct mdoc *mdoc, int line, int *pos, |
|
} |
} |
|
|
static enum margserr |
static enum margserr |
args(struct mdoc *mdoc, int line, int *pos, |
args(struct roff_man *mdoc, int line, int *pos, |
char *buf, enum argsflag fl, char **v) |
char *buf, enum argsflag fl, char **v) |
{ |
{ |
char *p, *pp; |
char *p, *pp; |
Line 654 args_checkpunct(const char *buf, int i) |
|
Line 654 args_checkpunct(const char *buf, int i) |
|
} |
} |
|
|
static void |
static void |
argv_multi(struct mdoc *mdoc, int line, |
argv_multi(struct roff_man *mdoc, int line, |
struct mdoc_argv *v, int *pos, char *buf) |
struct mdoc_argv *v, int *pos, char *buf) |
{ |
{ |
enum margserr ac; |
enum margserr ac; |
Line 676 argv_multi(struct mdoc *mdoc, int line, |
|
Line 676 argv_multi(struct mdoc *mdoc, int line, |
|
} |
} |
|
|
static void |
static void |
argv_single(struct mdoc *mdoc, int line, |
argv_single(struct roff_man *mdoc, int line, |
struct mdoc_argv *v, int *pos, char *buf) |
struct mdoc_argv *v, int *pos, char *buf) |
{ |
{ |
enum margserr ac; |
enum margserr ac; |