aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libroff.h
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2010-12-29 16:44:23 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2010-12-29 16:44:23 +0000
commitfe145d2365e72a35cd1641adcd3eb55ecf5e5f1d (patch)
tree2a291ea89b1bb6a7b07358697a36b93870c03230 /libroff.h
parentf0b9c96368b59bd1741fefe6209c3475315aea01 (diff)
downloadmandoc-fe145d2365e72a35cd1641adcd3eb55ecf5e5f1d.tar.gz
mandoc-fe145d2365e72a35cd1641adcd3eb55ecf5e5f1d.tar.zst
mandoc-fe145d2365e72a35cd1641adcd3eb55ecf5e5f1d.zip
Initial check-in of table data-row processing. For the time being, this
parses table data then throws it away immediately. It does not yet try to cross-check data rows against layout or anything. This copied more or less completely from tbl.bsd.lv.
Diffstat (limited to 'libroff.h')
-rw-r--r--libroff.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/libroff.h b/libroff.h
index fbd69160..828185f1 100644
--- a/libroff.h
+++ b/libroff.h
@@ -1,4 +1,4 @@
-/* $Id: libroff.h,v 1.6 2010/12/29 14:53:31 kristaps Exp $ */
+/* $Id: libroff.h,v 1.7 2010/12/29 16:44:23 kristaps Exp $ */
/*
* Copyright (c) 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
*
@@ -60,6 +60,24 @@ struct tbl_row {
struct tbl_cell *last;
};
+struct tbl_dat {
+ struct tbl_dat *next;
+ char *string;
+ int flags;
+#define TBL_DATA_HORIZ (1 << 0)
+#define TBL_DATA_DHORIZ (1 << 1)
+#define TBL_DATA_NHORIZ (1 << 2)
+#define TBL_DATA_NDHORIZ (1 << 3)
+};
+
+struct tbl_span {
+ struct tbl_dat *first;
+ struct tbl_dat *last;
+ int flags;
+#define TBL_SPAN_HORIZ (1 << 0)
+#define TBL_SPAN_DHORIZ (1 << 1)
+};
+
struct tbl {
mandocmsg msg; /* status messages */
void *data; /* privdata for messages */
@@ -90,6 +108,7 @@ void tbl_reset(struct tbl *);
enum rofferr tbl_read(struct tbl *, int, const char *, int);
int tbl_option(struct tbl *, int, const char *);
int tbl_layout(struct tbl *, int, const char *);
+struct tbl_span *tbl_data(struct tbl *, int, const char *);
__END_DECLS