]> git.cameronkatri.com Git - mandoc.git/blobdiff - mdoc_argv.c
Use a character-table for quick per-character substitution in `tr'. As
[mandoc.git] / mdoc_argv.c
index fa271a50070dbcb509651cf86c69b5c5f797f075..32b3c05fe2b3bd899ce999935a39312eab5f7f64 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mdoc_argv.c,v 1.79 2011/06/18 16:29:38 kristaps Exp $ */
+/*     $Id: mdoc_argv.c,v 1.80 2011/06/18 16:53:27 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
  *
@@ -21,7 +21,6 @@
 #include <sys/types.h>
 
 #include <assert.h>
-#include <ctype.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
@@ -52,16 +51,16 @@ struct      mdocarg {
        const enum mdocargt *argvs;
 };
 
+static void             argn_free(struct mdoc_arg *, int);
 static enum margserr    args(struct mdoc *, int, int *, 
                                char *, enum argsflag, char **);
 static int              args_checkpunct(const char *, int);
-static int              argv_single(struct mdoc *, int, 
+static int              argv_multi(struct mdoc *, int, 
                                struct mdoc_argv *, int *, char *);
 static int              argv_opt_single(struct mdoc *, int, 
                                struct mdoc_argv *, int *, char *);
-static int              argv_multi(struct mdoc *, int, 
+static int              argv_single(struct mdoc *, int, 
                                struct mdoc_argv *, int *, char *);
-static void             argn_free(struct mdoc_arg *, int);
 
 static const enum argvflag argvflags[MDOC_ARG_MAX] = {
        ARGV_NONE,      /* MDOC_Split */
@@ -290,8 +289,8 @@ mdoc_argv(struct mdoc *m, int line, enum mdoct tok,
                return(ARGV_EOLN);
        else if (NULL == (ap = mdocargs[tok].argvs))
                return(ARGV_WORD);
-
-       assert(' ' != buf[*pos]);
+       else if ('-' != buf[*pos])
+               return(ARGV_WORD);
 
        /* Seek to the first unescaped space. */