+ case KEY_TAB:
+ if ('\0' != (tbl->opts.tab = p[(*pos)++]))
+ break;
+
+ mandoc_msg(MANDOCERR_TBL, tbl->parse,
+ ln, *pos - 1, NULL);
+ return(0);
+ case KEY_LINESIZE:
+ for (i = 0; i < KEY_MAXNUMSZ && p[*pos]; i++, (*pos)++) {
+ buf[i] = p[*pos];
+ if ( ! isdigit((unsigned char)buf[i]))
+ break;
+ }
+
+ if (i < KEY_MAXNUMSZ) {
+ buf[i] = '\0';
+ tbl->opts.linesize = atoi(buf);
+ break;
+ }
+
+ mandoc_msg(MANDOCERR_TBL, tbl->parse, ln, *pos, NULL);
+ return(0);
+ case KEY_DPOINT:
+ if ('\0' != (tbl->opts.decimal = p[(*pos)++]))
+ break;
+
+ mandoc_msg(MANDOCERR_TBL, tbl->parse,
+ ln, *pos - 1, NULL);
+ return(0);