diff options
author | Baptiste Daroussin <bapt@FreeBSD.org> | 2014-06-06 10:32:29 +0000 |
---|---|---|
committer | Baptiste Daroussin <bapt@FreeBSD.org> | 2014-06-06 10:32:29 +0000 |
commit | 4e5e6e3978344ea2aeab47ed6270dc26c704072e (patch) | |
tree | 24eda5298a44a68eb180b4bd336e7852f3f82f06 /graphics/epdfview | |
parent | abbf83068996dad89cbffb08072968a9a4443af8 (diff) | |
download | ports-4e5e6e3978344ea2aeab47ed6270dc26c704072e.tar.gz ports-4e5e6e3978344ea2aeab47ed6270dc26c704072e.zip |
Notes
Diffstat (limited to 'graphics/epdfview')
-rw-r--r-- | graphics/epdfview/files/patch-cups | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/graphics/epdfview/files/patch-cups b/graphics/epdfview/files/patch-cups new file mode 100644 index 000000000000..9095c48c0b62 --- /dev/null +++ b/graphics/epdfview/files/patch-cups @@ -0,0 +1,74 @@ +diff -Naur epdfview-0.1.8.orig/src/PrintPter.cxx epdfview-0.1.8/src/PrintPter.cxx +--- src/PrintPter.cxx 2011-05-28 11:25:01.000000000 +0100 ++++ src/PrintPter.cxx 2012-08-22 20:11:46.362436859 +0100 +@@ -22,6 +22,40 @@ + #include <locale.h> + #include "epdfview.h" + ++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5) ++#define HAVE_CUPS_1_6 1 ++#endif ++ ++#ifndef HAVE_CUPS_1_6 ++inline int ippGetInteger (ipp_attribute_t *attr, int element) ++{ ++ return (attr->values[element].integer); ++} ++ ++inline const char * ippGetString (ipp_attribute_t *attr, ++ int element, ++ const char **language /*UNUSED*/) ++{ ++ return (attr->values[element].string.text); ++} ++ ++inline int ippSetOperation (ipp_t *ipp, ipp_op_t op) ++{ ++ if (!ipp) ++ return (0); ++ ipp->request.op.operation_id = op; ++ return (1); ++} ++ ++inline int ippSetRequestId (ipp_t *ipp, int request_id) ++{ ++ if (!ipp) ++ return (0); ++ ipp->request.any.request_id = request_id; ++ return (1); ++} ++#endif ++ + using namespace ePDFView; + + // Structures +@@ -380,8 +414,8 @@ + + ipp_t *request = ippNew (); + +- request->request.op.operation_id = IPP_GET_PRINTER_ATTRIBUTES; +- request->request.op.request_id = 1; ++ ippSetOperation(request, IPP_GET_PRINTER_ATTRIBUTES); ++ ippSetRequestId(request, 1); + + ippAddString (request, IPP_TAG_OPERATION, IPP_TAG_CHARSET, + "attributes-charset", NULL, "utf-8"); +@@ -403,7 +437,7 @@ + ippFindAttribute (answer, "printer-state", IPP_TAG_ZERO); + if ( NULL != state ) + { +- switch (state->values[0].integer) ++ switch (ippGetInteger (state, 0)) + { + case IPP_PRINTER_IDLE: + attributes->state = g_strdup (_("Idle")); +@@ -425,7 +459,7 @@ + ippFindAttribute (answer, "printer-location", IPP_TAG_ZERO); + if ( NULL != location ) + { +- attributes->location = g_strdup (location->values[0].string.text); ++ attributes->location = g_strdup (ippGetString (location, 0, NULL)); + } + + ippDelete (answer); + |