]> git.cameronkatri.com Git - mandoc.git/blobdiff - tbl_data.c
fix order of messages
[mandoc.git] / tbl_data.c
index e2be64eb811a9d8f218a048315e840b4dd6f8529..2502672184f49bc70eae1ca88ee8f9232c57a251 100644 (file)
@@ -1,7 +1,7 @@
-/*     $Id: tbl_data.c,v 1.39 2015/01/30 17:32:16 schwarze Exp $ */
+/*     $Id: tbl_data.c,v 1.42 2017/06/08 18:11:22 schwarze Exp $ */
 /*
  * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2011, 2015 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2011, 2015, 2017 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
@@ -132,17 +132,19 @@ tbl_cdata(struct tbl_node *tbl, int ln, const char *p, int pos)
                if (p[pos] == tbl->opts.tab) {
                        tbl->part = TBL_PART_DATA;
                        pos++;
-                       getdata(tbl, tbl->last_span, ln, p, &pos);
-                       return(1);
+                       while (p[pos] != '\0')
+                               getdata(tbl, tbl->last_span, ln, p, &pos);
+                       return 1;
                } else if (p[pos] == '\0') {
                        tbl->part = TBL_PART_DATA;
-                       return(1);
+                       return 1;
                }
 
                /* Fallthrough: T} is part of a word. */
        }
 
        dat->pos = TBL_DATA_DATA;
+       dat->block = 1;
 
        if (dat->string != NULL) {
                sz = strlen(p + pos) + strlen(dat->string) + 2;
@@ -156,7 +158,7 @@ tbl_cdata(struct tbl_node *tbl, int ln, const char *p, int pos)
                mandoc_msg(MANDOCERR_TBLDATA_SPAN, tbl->parse,
                    ln, pos, dat->string);
 
-       return(0);
+       return 0;
 }
 
 static struct tbl_span *
@@ -177,7 +179,7 @@ newspan(struct tbl_node *tbl, int line, struct tbl_row *rp)
                dp->prev->next = dp;
        tbl->last_span = dp;
 
-       return(dp);
+       return dp;
 }
 
 void