File ghostscript-8.62-echogs.patch of Package ghostscript-library
From: Hauke Klein <klein@math.uni-kiel.de>
To: gs-devel@ghostscript.com
Hi, while building ghostscript 8.62 with non-standard settings for
GLGENDIR, GLOBJDIR, ...
I noticed a few small inconsistencies in ghostscripts makefiles. The
attached patch should
fix these. I'm also building with a separate build directory.
Unfortunately, the resulting path
strings overflow a static buffer in echogs.c. The patch also changes
the size of these
buffers. I'm just including limits.h, I should probably guard this
with an HAVE_LIMITS_H
or something like this.
PS. I hope this message is appropriate for this list (or should gs-
code-review be
used for such things?)
diff -u -r ghostscript-8.62/src/echogs.c ghostscript-8.62b/src/echogs.c
--- ghostscript-8.62/src/echogs.c 2007-06-06 00:23:38.000000000 +0200
+++ ghostscript-8.62/src/echogs.c 2008-03-25 15:05:07.000000000 +0100
@@ -31,6 +31,7 @@
#include <ctype.h>
#include <string.h>
#include <time.h> /* for ctime */
+#include <limits.h>
/*
* This program exists solely to get around omissions, problems, and
@@ -91,14 +92,14 @@
FILE *in = 0;
const char *extn = "";
char fmode[4];
-#define FNSIZE 100
+#define FNSIZE PATH_MAX
char *fnparam;
char fname[FNSIZE];
int newline = 1;
int interact = 0;
int (*eputc)(int, FILE *) = fputc;
int (*eputs)(const char *, FILE *) = fputs;
-#define LINESIZE 1000
+#define LINESIZE (1000 + PATH_MAX)
char line[LINESIZE];
char sw = 0, sp = 0, hexx = 0;
char **argp = argv + 1;
diff -u -r ghostscript-8.62/src/jasper.mak ghostscript-8.62b/src/jasper.mak
--- ghostscript-8.62/src/jasper.mak 2007-10-18 02:36:37.000000000 +0200
+++ ghostscript-8.62/src/jasper.mak 2008-03-25 14:24:38.000000000 +0100
@@ -167,11 +167,11 @@
$(CP_) $(JASGEN)jasper_$(SHARE_JPX).dev $(JASGEN)jasper.dev
# external link .dev
-$(GLOBJ)jasper_1.dev : $(TOP_MAKEFILES) $(JASPER_MAK) $(ECHOGS_XE)
- $(SETMOD) $(GLOBJ)jasper_1 -lib jasper
+$(JASGEN)jasper_1.dev : $(TOP_MAKEFILES) $(JASPER_MAK) $(ECHOGS_XE)
+ $(SETMOD) $(JASGEN)jasper_1 -lib jasper
# compile in .dev
-$(GLOBJ)jasper_0.dev : $(TOP_MAKEFILES) $(JASPER_MAK) $(ECHOGS_XE) $(libjasper_OBJS)
+$(JASGEN)jasper_0.dev : $(TOP_MAKEFILES) $(JASPER_MAK) $(ECHOGS_XE) $(libjasper_OBJS)
$(SETMOD) $(JASGEN)jasper_0 $(libjasper_OBJS_base)
$(ADDMOD) $(JASGEN)jasper_0 $(libjasper_OBJS_jpc)
$(ADDMOD) $(JASGEN)jasper_0 $(libjasper_OBJS_jp2)
diff -u -r ghostscript-8.62/src/jbig2.mak ghostscript-8.62b/src/jbig2.mak
--- ghostscript-8.62/src/jbig2.mak 2007-12-10 10:45:03.000000000 +0100
+++ ghostscript-8.62/src/jbig2.mak 2008-03-25 14:23:37.000000000 +0100
@@ -31,7 +31,7 @@
JBIG2_MAK=$(GLSRC)jbig2.mak
JBIG2SRC=$(JBIG2SRCDIR)$(D)
-JBIG2GEN=$(JBIG2OBJDIR)$(D)
+JBIG2GEN=$(JBIG2GENDIR)$(D)
JBIG2OBJ=$(JBIG2OBJDIR)$(D)
# This makefile is only known to work with jbig2dec v0.7 and later