diff options
Diffstat (limited to 'print/ghostscript7-x11/files/patch-src-gconf.c')
-rw-r--r-- | print/ghostscript7-x11/files/patch-src-gconf.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/print/ghostscript7-x11/files/patch-src-gconf.c b/print/ghostscript7-x11/files/patch-src-gconf.c new file mode 100644 index 000000000000..4afa18c6e024 --- /dev/null +++ b/print/ghostscript7-x11/files/patch-src-gconf.c @@ -0,0 +1,43 @@ +--- 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 |