-/* $Id: argv.c,v 1.33 2009/02/27 09:39:40 kristaps Exp $ */
+/* $Id: argv.c,v 1.35 2009/03/03 22:28:21 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
/* LINTED */
for (i = 0; i < c; i++) {
- if (MDOC_Column != n->data.block.argv[i].arg)
- continue;
- fl |= ARGS_TABSEP;
- fl &= ~ARGS_DELIM;
- break;
+ switch (n->data.block.argv[i].arg) {
+ case (MDOC_Column):
+ fl |= ARGS_TABSEP;
+ fl &= ~ARGS_DELIM;
+ i = c;
+ break;
+ case (MDOC_Diag):
+ fl |= ARGS_QUOTED;
+ i = c;
+ break;
+ default:
+ break;
+ }
}
}
if ( ! mdoc_iscdelim(buf[i]))
break;
i++;
+ /* There must be at least one space... */
+ if (0 == buf[i] || ! isspace((int)buf[i]))
+ break;
+ i++;
while (buf[i] && isspace((int)buf[i]))
i++;
}