aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libroff.h
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2011-07-17 12:13:37 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2011-07-17 12:13:37 +0000
commitda302548a58ff17d53b0d3e89bf0739d9ce61f10 (patch)
tree77364437117ec027865319c7378ced8d19583d2b /libroff.h
parent9419ab3574faf0af105fbd744975d2172be8a6b4 (diff)
downloadmandoc-da302548a58ff17d53b0d3e89bf0739d9ce61f10.tar.gz
mandoc-da302548a58ff17d53b0d3e89bf0739d9ce61f10.tar.zst
mandoc-da302548a58ff17d53b0d3e89bf0739d9ce61f10.zip
Add initial `define' support for eqn(7).
This works by iterating over a simple list. It's a slow, auditable early implementation. Data is read (the reading function will be reused) then parsed, then the line re-run if remaining stuff exists. Note this function isn't the same as mandoc_getarg(), as eqn(7) uses a different system for reading quoted strings. This doesn't actually use the defines.
Diffstat (limited to 'libroff.h')
-rw-r--r--libroff.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/libroff.h b/libroff.h
index 9831b19e..58dc86c9 100644
--- a/libroff.h
+++ b/libroff.h
@@ -1,4 +1,4 @@
-/* $Id: libroff.h,v 1.21 2011/07/12 21:32:43 kristaps Exp $ */
+/* $Id: libroff.h,v 1.22 2011/07/17 12:13:37 kristaps Exp $ */
/*
* Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
*
@@ -42,10 +42,19 @@ struct tbl_node {
struct tbl_node *next;
};
+struct eqn_def {
+ char *key;
+ size_t keysz;
+ char *val;
+ size_t valsz;
+};
+
struct eqn_node {
+ struct eqn_def *defs;
+ size_t defsz;
struct eqn eqn;
- struct eqn_node *next;
struct mparse *parse;
+ struct eqn_node *next;
};
struct tbl_node *tbl_alloc(int, int, struct mparse *);
@@ -62,7 +71,8 @@ void tbl_end(struct tbl_node *);
struct eqn_node *eqn_alloc(int, int, struct mparse *);
void eqn_end(struct eqn_node *);
void eqn_free(struct eqn_node *);
-enum rofferr eqn_read(struct eqn_node **, int, const char *, int);
+enum rofferr eqn_read(struct eqn_node **, int,
+ const char *, int, int *);
__END_DECLS