Magellan Linux

Contents of /trunk/epdfview/patches/epdfview-0.1.8-cups161.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2071 - (show annotations) (download)
Fri Feb 8 14:50:44 2013 UTC (11 years, 2 months ago) by niro
File size: 2202 byte(s)
-fixed build against newer cups
1 diff -Naur epdfview-0.1.8.orig/src/PrintPter.cxx epdfview-0.1.8/src/PrintPter.cxx
2 --- epdfview-0.1.8.orig/src/PrintPter.cxx 2011-05-28 11:25:01.000000000 +0100
3 +++ epdfview-0.1.8/src/PrintPter.cxx 2012-08-22 20:11:46.362436859 +0100
4 @@ -22,6 +22,40 @@
5 #include <locale.h>
6 #include "epdfview.h"
7
8 +#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
9 +#define HAVE_CUPS_1_6 1
10 +#endif
11 +
12 +#ifndef HAVE_CUPS_1_6
13 +inline int ippGetInteger (ipp_attribute_t *attr, int element)
14 +{
15 + return (attr->values[element].integer);
16 +}
17 +
18 +inline const char * ippGetString (ipp_attribute_t *attr,
19 + int element,
20 + const char **language /*UNUSED*/)
21 +{
22 + return (attr->values[element].string.text);
23 +}
24 +
25 +inline int ippSetOperation (ipp_t *ipp, ipp_op_t op)
26 +{
27 + if (!ipp)
28 + return (0);
29 + ipp->request.op.operation_id = op;
30 + return (1);
31 +}
32 +
33 +inline int ippSetRequestId (ipp_t *ipp, int request_id)
34 +{
35 + if (!ipp)
36 + return (0);
37 + ipp->request.any.request_id = request_id;
38 + return (1);
39 +}
40 +#endif
41 +
42 using namespace ePDFView;
43
44 // Structures
45 @@ -380,8 +414,8 @@
46
47 ipp_t *request = ippNew ();
48
49 - request->request.op.operation_id = IPP_GET_PRINTER_ATTRIBUTES;
50 - request->request.op.request_id = 1;
51 + ippSetOperation(request, IPP_GET_PRINTER_ATTRIBUTES);
52 + ippSetRequestId(request, 1);
53
54 ippAddString (request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
55 "attributes-charset", NULL, "utf-8");
56 @@ -403,7 +437,7 @@
57 ippFindAttribute (answer, "printer-state", IPP_TAG_ZERO);
58 if ( NULL != state )
59 {
60 - switch (state->values[0].integer)
61 + switch (ippGetInteger (state, 0))
62 {
63 case IPP_PRINTER_IDLE:
64 attributes->state = g_strdup (_("Idle"));
65 @@ -425,7 +459,7 @@
66 ippFindAttribute (answer, "printer-location", IPP_TAG_ZERO);
67 if ( NULL != location )
68 {
69 - attributes->location = g_strdup (location->values[0].string.text);
70 + attributes->location = g_strdup (ippGetString (location, 0, NULL));
71 }
72
73 ippDelete (answer);