- if ((i && '\"' == buf[i] && '\\' != buf[i - 1]) ||
- (0 == i && '\"' == buf[i])) {
- for (la = ++i; buf[i]; i++)
- if ('\"' != buf[i])
- continue;
- else if ('\\' != buf[i - 1])
- break;
- if (0 == buf[i])
- return(mdoc_perr(mdoc, line, la, EQUOTPHR));
- quoted = 1;
- } else
- for ( ; buf[i]; i++)
- if (i && ' ' == buf[i]) {
- if ('\\' != buf[i - 1])
- break;
- } else if (' ' == buf[i])
- break;
-
- /* If not end-of-line, terminate argument. */
-
- if (buf[i])
- buf[i++] = 0;
-
- /* Read to next argument. */
-
- for ( ; buf[i] && ' ' == buf[i]; i++)
- /* Spin. */ ;
+ /* Note: no calling context! */
+ w = mdoc_zargs(mdoc, line, &pos, buf, &p);