diff options
Diffstat (limited to 'Build/source/texk/dvipdfmx/src/spc_dvips.c')
-rw-r--r-- | Build/source/texk/dvipdfmx/src/spc_dvips.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/Build/source/texk/dvipdfmx/src/spc_dvips.c b/Build/source/texk/dvipdfmx/src/spc_dvips.c index da4c84b3f68..2802ec468d9 100644 --- a/Build/source/texk/dvipdfmx/src/spc_dvips.c +++ b/Build/source/texk/dvipdfmx/src/spc_dvips.c @@ -1,4 +1,4 @@ -/* $Header: /home/cvsroot/dvipdfmx/src/spc_dvips.c,v 1.12 2008/11/30 21:17:58 matthias Exp $ +/* $Header: /home/cvsroot/dvipdfmx/src/spc_dvips.c,v 1.13 2009/11/28 22:41:44 matthias Exp $ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks. @@ -22,6 +22,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ +#include <string.h> + #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -149,7 +151,7 @@ spc_handler_ps_plotfile (struct spc_env *spe, struct spc_arg *args) ASSERT(spe && args); - spc_warn(spe, "ps:plotfile found (not properly implemented)"); + spc_warn(spe, "\"ps: plotfile\" found (not properly implemented)"); skip_white(&args->curptr, args->endptr); filename = parse_filename(&args->curptr, args->endptr); @@ -185,10 +187,7 @@ spc_handler_ps_literal (struct spc_env *spe, struct spc_arg *args) int st_depth, gs_depth; double x_user, y_user; - ASSERT(spe && args); - - if (args->curptr >= args->endptr) - return -1; + ASSERT(spe && args && args->curptr <= args->endptr); if (args->curptr + strlen(":[begin]") <= args->endptr && !strncmp(args->curptr, ":[begin]", strlen(":[begin]"))) { @@ -286,8 +285,8 @@ spc_handler_ps_default (struct spc_env *spe, struct spc_arg *args) static struct spc_handler dvips_handlers[] = { {"PSfile", spc_handler_ps_file}, {"psfile", spc_handler_ps_file}, - {"ps: plotfile", spc_handler_ps_plotfile}, /* FIXME */ - {"PS: plotfile", spc_handler_ps_plotfile}, /* FIXME */ + {"ps: plotfile ", spc_handler_ps_plotfile}, + {"PS: plotfile ", spc_handler_ps_plotfile}, {"PS:", spc_handler_ps_literal}, {"ps:", spc_handler_ps_literal}, {"\" ", spc_handler_ps_default} @@ -342,10 +341,14 @@ spc_dvips_setup_handler (struct spc_handler *handle, isalpha(args->curptr[0])) { args->curptr++; } - /* ps:: --> : */ + /* Test for "ps:". The "ps::" special is subsumed under this case. */ if (args->curptr < args->endptr && args->curptr[0] == ':') { args->curptr++; + if (args->curptr+strlen(" plotfile ") <= args->endptr && + !strncmp(args->curptr, " plotfile ", strlen(" plotfile "))) { + args->curptr += strlen(" plotfile "); + } } else if (args->curptr+1 < args->endptr && args->curptr[0] == '"' && args->curptr[1] == ' ') { args->curptr += 2; |