version 1.52, 2010/05/31 13:39:13 |
version 1.62, 2010/12/24 14:00:40 |
|
|
/* $Id$ */ |
/* $Id$ */ |
/* |
/* |
* 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 |
* 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 |
|
|
|
|
#define MULTI_STEP 5 |
#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 *, |
static enum margserr args(struct mdoc *, int, int *, |
char *, int, char **); |
char *, int, char **); |
static int argv(struct mdoc *, int, |
static int argv(struct mdoc *, int, |
Line 95 static int mdoc_argflags[MDOC_MAX] = { |
|
Line 95 static int mdoc_argflags[MDOC_MAX] = { |
|
0, /* Os */ |
0, /* Os */ |
0, /* Sh */ |
0, /* Sh */ |
0, /* Ss */ |
0, /* Ss */ |
ARGS_DELIM, /* Pp */ |
0, /* Pp */ |
ARGS_DELIM, /* D1 */ |
ARGS_DELIM, /* D1 */ |
ARGS_DELIM, /* Dl */ |
ARGS_DELIM, /* Dl */ |
0, /* Bd */ |
0, /* Bd */ |
Line 196 static int mdoc_argflags[MDOC_MAX] = { |
|
Line 196 static int mdoc_argflags[MDOC_MAX] = { |
|
0, /* Fr */ |
0, /* Fr */ |
0, /* Ud */ |
0, /* Ud */ |
0, /* Lb */ |
0, /* Lb */ |
ARGS_DELIM, /* Lp */ |
0, /* Lp */ |
ARGS_DELIM, /* Lk */ |
ARGS_DELIM, /* Lk */ |
ARGS_DELIM, /* Mt */ |
ARGS_DELIM, /* Mt */ |
ARGS_DELIM, /* Brq */ |
ARGS_DELIM, /* Brq */ |
Line 313 mdoc_argv_free(struct mdoc_arg *p) |
|
Line 313 mdoc_argv_free(struct mdoc_arg *p) |
|
void |
void |
mdoc_argn_free(struct mdoc_arg *p, int iarg) |
mdoc_argn_free(struct mdoc_arg *p, int iarg) |
{ |
{ |
struct mdoc_argv *arg = &p->argv[iarg]; |
struct mdoc_argv *arg; |
int j; |
int j; |
|
|
|
arg = &p->argv[iarg]; |
|
|
if (arg->sz && arg->value) { |
if (arg->sz && arg->value) { |
for (j = (int)arg->sz - 1; j >= 0; j--) |
for (j = (int)arg->sz - 1; j >= 0; j--) |
free(arg->value[j]); |
free(arg->value[j]); |
Line 359 mdoc_args(struct mdoc *m, int line, int *pos, |
|
Line 361 mdoc_args(struct mdoc *m, int line, int *pos, |
|
if (MDOC_Bl == n->tok) |
if (MDOC_Bl == n->tok) |
break; |
break; |
|
|
if (n && LIST_column == n->data.list) { |
if (n && LIST_column == n->norm->Bl.type) { |
fl |= ARGS_TABSEP; |
fl |= ARGS_TABSEP; |
fl &= ~ARGS_DELIM; |
fl &= ~ARGS_DELIM; |
} |
} |
Line 582 args(struct mdoc *m, int line, int *pos, |
|
Line 584 args(struct mdoc *m, int line, int *pos, |
|
} |
} |
|
|
|
|
static int |
static enum mdocargt |
argv_a2arg(enum mdoct tok, const char *p) |
argv_a2arg(enum mdoct tok, const char *p) |
{ |
{ |
|
|