summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipdfmx/src/spc_dvips.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/dvipdfmx/src/spc_dvips.c')
-rw-r--r--Build/source/texk/dvipdfmx/src/spc_dvips.c21
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;