forked from Lainports/freebsd-ports
* print/ghostscript{7,8,9,9-agpl}-base
Installs Ghostscript binary, libgs, and related files.
These ports do not depend on X11 libraries (i.e. x11* devices
are not available). USES=ghostscript will set dependency on
one of them depending on GHOSTSCRIPT_DEFAULT.
The default device is set to "display" or "bbox".
* print/ghostscript{7,8,9,9-agpl}-x11
Installs a shared library which provides X11 support to
the installed Ghostscript binaries. x11* devices will be
enabled when the library is available.
This depends on *-base (RUN_DEPENDS). USES=ghostscript:x11
will set dependency on one of them.
- Fix integer overflow reported as CVE-2015-3228.
- Update Uses/ghostscript.mk:
* Add x11 keyword. nox11 keyword is now obsolete.
* Use packagename in *_DEPENDS line to prevent relationship between
-base and -x11 packages from being broken.
- Fix x11/nox11 keyword and bump PORTREVISION in ports using
USES=ghostscript to update dependency of pre-compiled packages.
43 lines
1 KiB
C
43 lines
1 KiB
C
--- src/gconf.c.orig 2003-01-17 09:49:00.000000000 +0900
|
|
+++ src/gconf.c 2015-08-22 01:52:10.741824000 +0900
|
|
@@ -81,7 +81,8 @@
|
|
/* Set up the device table. */
|
|
#define device_(dev) (const gx_device *)&dev,
|
|
#define device2_(dev) &dev,
|
|
-private const gx_device *const gx_device_list[] = {
|
|
+static const gx_device *gx_device_list[1024] = {
|
|
+ /* as shared library are adding drivers here, so removed constness */
|
|
#include "gconf.h"
|
|
0
|
|
};
|
|
@@ -149,9 +150,29 @@
|
|
gs_lib_device_list(const gx_device * const **plist,
|
|
gs_memory_struct_type_t ** pst)
|
|
{
|
|
+ int i;
|
|
+
|
|
if (plist != 0)
|
|
*plist = gx_device_list;
|
|
if (pst != 0)
|
|
*pst = NULL;
|
|
- return countof(gx_device_list) - 1;
|
|
+
|
|
+ for (i = 0; i < countof(gx_device_list) - 1; ++i)
|
|
+ if (!gx_device_list[i])
|
|
+ break;
|
|
+ return i;
|
|
}
|
|
+
|
|
+#ifdef GS_DEVS_SHARED
|
|
+void
|
|
+gs_lib_register_device(const gx_device *dev)
|
|
+{
|
|
+ int i;
|
|
+
|
|
+ for (i = 0; i < countof(gx_device_list) - 1; ++i)
|
|
+ if (!gx_device_list[i]) {
|
|
+ gx_device_list[i] = dev;
|
|
+ return;
|
|
+ }
|
|
+}
|
|
+#endif
|