diff options
author | ru <ru@FreeBSD.org> | 2002-10-11 08:52:17 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2002-10-11 08:52:17 +0000 |
commit | 49694bd3ad767a896dc092289a2b59c780a3ba02 (patch) | |
tree | 3ab4ff2268c18cde66cbf296cc57caf69acdea70 /contrib/groff/src/xditview/parse.c | |
parent | b6731a278e1260409b42bb486cc7592dd1a19203 (diff) | |
parent | 127e61728bacf1fb90edd8be1b0c406619e78bc8 (diff) | |
download | FreeBSD-src-49694bd3ad767a896dc092289a2b59c780a3ba02.zip FreeBSD-src-49694bd3ad767a896dc092289a2b59c780a3ba02.tar.gz |
This commit was generated by cvs2svn to compensate for changes in r104862,
which included commits to RCS files with non-trunk default branches.
Diffstat (limited to 'contrib/groff/src/xditview/parse.c')
-rw-r--r-- | contrib/groff/src/xditview/parse.c | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/contrib/groff/src/xditview/parse.c b/contrib/groff/src/xditview/parse.c index e1df8c9..d763268 100644 --- a/contrib/groff/src/xditview/parse.c +++ b/contrib/groff/src/xditview/parse.c @@ -141,6 +141,7 @@ ParseInput(dw) break; case 'F': /* input files */ case '+': /* continuation of X device control */ + case 'm': /* color */ case '#': /* comment */ GetLine(dw, NULL, 0); break; @@ -205,7 +206,7 @@ DviWidget dw; char *buf; { int v[DRAW_ARGS_MAX]; - int i; + int i, no_move = 0; char *ptr; v[0] = v[1] = v[2] = v[3] = 0; @@ -257,24 +258,28 @@ char *buf; case 'f': if (i > 0 && v[0] >= 0 && v[0] <= DVI_FILL_MAX) dw->dvi.fill = v[0]; + no_move = 1; break; default: #if 0 warning("unknown drawing function %s", buf); #endif + no_move = 1; break; } - if (buf[0] == 'e') { - if (i > 0) - dw->dvi.state->x += v[0]; - } - else { - while (--i >= 0) { - if (i & 1) - dw->dvi.state->y += v[i]; - else - dw->dvi.state->x += v[i]; + if (!no_move) { + if (buf[0] == 'e') { + if (i > 0) + dw->dvi.state->x += v[0]; + } + else { + while (--i >= 0) { + if (i & 1) + dw->dvi.state->y += v[i]; + else + dw->dvi.state->x += v[i]; + } } } } |