aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2011-03-23 15:33:57 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2011-03-23 15:33:57 +0000
commit2b4cfb630509f9fb997584294eb9aece8a327d63 (patch)
tree7619648c6721c19fbfe4a6e92e7118a3e8f97d26
parent589f74a138ab93e81b858ebb9a8218a19d5a2017 (diff)
downloadmandoc-2b4cfb630509f9fb997584294eb9aece8a327d63.tar.gz
mandoc-2b4cfb630509f9fb997584294eb9aece8a327d63.tar.zst
mandoc-2b4cfb630509f9fb997584294eb9aece8a327d63.zip
Merge man_args() into man_macro.c, the only place where it's called, and
make its return value boolean (we don't care about QWORD). We can move it into mdoc_macro.c because it's basically just a wrapper around mandoc_getarg(). Then blow away man_argv.c, which is left empty.
-rw-r--r--Makefile2
-rw-r--r--libman.h9
-rw-r--r--man_argv.c42
-rw-r--r--man_macro.c25
4 files changed, 22 insertions, 56 deletions
diff --git a/Makefile b/Makefile
index f075a4c7..9c17d400 100644
--- a/Makefile
+++ b/Makefile
@@ -57,7 +57,6 @@ SRCS = Makefile \
main.h \
man.7 \
man.c \
- man_argv.c \
man_hash.c \
man_html.c \
man_macro.c \
@@ -104,7 +103,6 @@ SRCS = Makefile \
vol.in
LIBMAN_OBJS = man.o \
- man_argv.o \
man_hash.o \
man_macro.o \
man_validate.o
diff --git a/libman.h b/libman.h
index 4a64c076..30c159f7 100644
--- a/libman.h
+++ b/libman.h
@@ -1,4 +1,4 @@
-/* $Id: libman.h,v 1.50 2011/03/23 12:40:04 kristaps Exp $ */
+/* $Id: libman.h,v 1.51 2011/03/23 15:33:57 kristaps Exp $ */
/*
* Copyright (c) 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
*
@@ -56,12 +56,6 @@ struct man_macro {
#define MAN_NOCLOSE (1 << 4) /* See blk_exp(). */
};
-enum margserr {
- ARGS_EOLN,
- ARGS_WORD,
- ARGS_QWORD
-};
-
extern const struct man_macro *const man_macros;
__BEGIN_DECLS
@@ -80,7 +74,6 @@ void man_node_delete(struct man *, struct man_node *);
void man_hash_init(void);
enum mant man_hash_find(const char *);
int man_macroend(struct man *);
-enum margserr man_args(struct man *, int, int *, char *, char **);
int man_valid_post(struct man *);
int man_valid_pre(struct man *, struct man_node *);
int man_unscope(struct man *,
diff --git a/man_argv.c b/man_argv.c
deleted file mode 100644
index f9f76f63..00000000
--- a/man_argv.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* $Id: man_argv.c,v 1.8 2011/03/23 12:40:04 kristaps Exp $ */
-/*
- * Copyright (c) 2011 Ingo Schwarze <schwarze@openbsd.org>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <assert.h>
-
-#include "man.h"
-#include "mandoc.h"
-#include "libman.h"
-#include "libmandoc.h"
-
-enum margserr
-man_args(struct man *m, int line, int *pos, char *buf, char **v)
-{
- char *start;
-
- assert(*pos);
- *v = start = buf + *pos;
- assert(' ' != *start);
-
- if ('\0' == *start)
- return(ARGS_EOLN);
-
- *v = mandoc_getarg(m->parse, v, line, pos);
- return('"' == *start ? ARGS_QWORD : ARGS_WORD);
-}
diff --git a/man_macro.c b/man_macro.c
index 744167bc..b3212e68 100644
--- a/man_macro.c
+++ b/man_macro.c
@@ -1,4 +1,4 @@
-/* $Id: man_macro.c,v 1.59 2011/03/23 12:40:04 kristaps Exp $ */
+/* $Id: man_macro.c,v 1.60 2011/03/23 15:33:57 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
*
@@ -38,6 +38,8 @@ static int blk_close(MACRO_PROT_ARGS);
static int blk_exp(MACRO_PROT_ARGS);
static int blk_imp(MACRO_PROT_ARGS);
static int in_line_eoln(MACRO_PROT_ARGS);
+static int man_args(struct man *, int,
+ int *, char *, char **);
static int rew_scope(enum man_type,
struct man *, enum mant);
@@ -317,7 +319,7 @@ blk_exp(MACRO_PROT_ARGS)
for (;;) {
la = *pos;
- if (ARGS_EOLN == man_args(m, line, pos, buf, &p))
+ if ( ! man_args(m, line, pos, buf, &p))
break;
if ( ! man_word_alloc(m, line, la, p))
return(0);
@@ -367,7 +369,7 @@ blk_imp(MACRO_PROT_ARGS)
for (;;) {
la = *pos;
- if (ARGS_EOLN == man_args(m, line, pos, buf, &p))
+ if ( ! man_args(m, line, pos, buf, &p))
break;
if ( ! man_word_alloc(m, line, la, p))
return(0);
@@ -407,7 +409,7 @@ in_line_eoln(MACRO_PROT_ARGS)
for (;;) {
la = *pos;
- if (ARGS_EOLN == man_args(m, line, pos, buf, &p))
+ if ( ! man_args(m, line, pos, buf, &p))
break;
if ( ! man_word_alloc(m, line, la, p))
return(0);
@@ -470,3 +472,18 @@ man_macroend(struct man *m)
return(man_unscope(m, m->first, MANDOCERR_SCOPEEXIT));
}
+static int
+man_args(struct man *m, int line, int *pos, char *buf, char **v)
+{
+ char *start;
+
+ assert(*pos);
+ *v = start = buf + *pos;
+ assert(' ' != *start);
+
+ if ('\0' == *start)
+ return(0);
+
+ *v = mandoc_getarg(m->parse, v, line, pos);
+ return(1);
+}