-/* $Id: mdoc_argv.c,v 1.53 2010/06/12 11:58:22 kristaps Exp $ */
+/* $Id: mdoc_argv.c,v 1.60 2010/09/13 20:15:43 schwarze Exp $ */
/*
- * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
+ * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
#define MULTI_STEP 5
-static int argv_a2arg(enum mdoct, const char *);
+static enum mdocargt argv_a2arg(enum mdoct, const char *);
static enum margserr args(struct mdoc *, int, int *,
char *, int, char **);
static int argv(struct mdoc *, int,
0, /* Os */
0, /* Sh */
0, /* Ss */
- ARGS_DELIM, /* Pp */
+ 0, /* Pp */
ARGS_DELIM, /* D1 */
ARGS_DELIM, /* Dl */
0, /* Bd */
0, /* Fr */
0, /* Ud */
0, /* Lb */
- ARGS_DELIM, /* Lp */
+ 0, /* Lp */
ARGS_DELIM, /* Lk */
ARGS_DELIM, /* Mt */
ARGS_DELIM, /* Brq */
void
mdoc_argn_free(struct mdoc_arg *p, int iarg)
{
- struct mdoc_argv *arg = &p->argv[iarg];
+ struct mdoc_argv *arg;
int j;
+ arg = &p->argv[iarg];
+
if (arg->sz && arg->value) {
for (j = (int)arg->sz - 1; j >= 0; j--)
free(arg->value[j]);
if (MDOC_Bl == n->tok)
break;
- if (n && LIST_column == n->data.Bl.type) {
+ assert(n->data.Bl);
+ if (n && LIST_column == n->data.Bl->type) {
fl |= ARGS_TABSEP;
fl &= ~ARGS_DELIM;
}
}
-static int
+static enum mdocargt
argv_a2arg(enum mdoct tok, const char *p)
{