From dcb9f94b1f184a61c9838b20919eef1842a07091 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?coadde=20=5BM=C3=A1rcio=20Alexandre=20Silva=20Delgado=5D?= Date: Thu, 4 Sep 2014 02:29:56 -0300 Subject: rename to epdfview --- libre/epdfview/epdfview-0.1.8-modern-cups.patch | 74 +++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 libre/epdfview/epdfview-0.1.8-modern-cups.patch (limited to 'libre/epdfview/epdfview-0.1.8-modern-cups.patch') diff --git a/libre/epdfview/epdfview-0.1.8-modern-cups.patch b/libre/epdfview/epdfview-0.1.8-modern-cups.patch new file mode 100644 index 000000000..64988789f --- /dev/null +++ b/libre/epdfview/epdfview-0.1.8-modern-cups.patch @@ -0,0 +1,74 @@ +diff -Naur epdfview-0.1.8.orig/src/PrintPter.cxx epdfview-0.1.8/src/PrintPter.cxx +--- epdfview-0.1.8.orig/src/PrintPter.cxx 2011-05-28 11:25:01.000000000 +0100 ++++ epdfview-0.1.8/src/PrintPter.cxx 2012-08-22 20:11:46.362436859 +0100 +@@ -22,6 +22,40 @@ + #include + #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); + -- cgit v1.2.3-2-g168b