diff options
Diffstat (limited to 'extra/kdelibs3/kdelibs3-cups16.patch')
-rw-r--r-- | extra/kdelibs3/kdelibs3-cups16.patch | 724 |
1 files changed, 0 insertions, 724 deletions
diff --git a/extra/kdelibs3/kdelibs3-cups16.patch b/extra/kdelibs3/kdelibs3-cups16.patch deleted file mode 100644 index 6736d49d3..000000000 --- a/extra/kdelibs3/kdelibs3-cups16.patch +++ /dev/null @@ -1,724 +0,0 @@ -diff -Naur kdelibs-3.5.10-orig/kdeprint/cups/cupsdconf2/cupsdconf.cpp kdelibs-3.5.10/kdeprint/cups/cupsdconf2/cupsdconf.cpp ---- kdelibs-3.5.10-orig/kdeprint/cups/cupsdconf2/cupsdconf.cpp 2012-10-06 14:49:37.521406729 -0400 -+++ kdelibs-3.5.10/kdeprint/cups/cupsdconf2/cupsdconf.cpp 2012-10-06 15:08:17.460612585 -0400 -@@ -629,26 +629,26 @@ - cups_lang_t* lang = cupsLangDefault(); - ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_CHARSET, "attributes-charset", NULL, cupsLangEncoding(lang)); - ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, "attributes-natural-language", NULL, lang->language); -- request_->request.op.operation_id = CUPS_GET_PRINTERS; -+ ippSetOperation(request_, CUPS_GET_PRINTERS); - request_ = cupsDoRequest(http_, request_, "/printers/"); - if (request_) - { - QString name; - int type(0); -- ipp_attribute_t *attr = request_->attrs; -+ ipp_attribute_t *attr = ippFirstAttribute(request_); - while (attr) - { - // check new printer (keep only local non-implicit printers) -- if (!attr->name) -+ if (!ippGetName(attr)) - { - if (!(type & CUPS_PRINTER_REMOTE) && !(type & CUPS_PRINTER_IMPLICIT) && !name.isEmpty()) - resources_.append(new CupsResource("/printers/"+name)); - name = ""; - type = 0; - } -- else if (strcmp(attr->name, "printer-name") == 0) name = attr->values[0].string.text; -- else if (strcmp(attr->name, "printer-type") == 0) type = attr->values[0].integer; -- attr = attr->next; -+ else if (strcmp(ippGetName(attr), "printer-name") == 0) name = ippGetString(attr, 0, NULL); -+ else if (strcmp(ippGetName(attr), "printer-type") == 0) type = ippGetInteger(attr, 0); -+ attr = ippNextAttribute(request_); - } - if (!(type & CUPS_PRINTER_REMOTE) && !(type & CUPS_PRINTER_IMPLICIT) && !name.isEmpty()) - resources_.append(new CupsResource("/printers/"+name)); -@@ -658,26 +658,26 @@ - request_ = ippNew(); - ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_CHARSET, "attributes-charset", NULL, cupsLangEncoding(lang)); - ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, "attributes-natural-language", NULL, lang->language); -- request_->request.op.operation_id = CUPS_GET_CLASSES; -+ ippSetOperation(request_, CUPS_GET_CLASSES); - request_ = cupsDoRequest(http_, request_, "/classes/"); - if (request_) - { - QString name; - int type(0); -- ipp_attribute_t *attr = request_->attrs; -+ ipp_attribute_t *attr = ippFirstAttribute(request_); - while (attr) - { - // check new class (keep only local classes) -- if (!attr->name) -+ if (!ippGetName(attr)) - { - if (!(type & CUPS_PRINTER_REMOTE) && !name.isEmpty()) - resources_.append(new CupsResource("/classes/"+name)); - name = ""; - type = 0; - } -- else if (strcmp(attr->name, "printer-name") == 0) name = attr->values[0].string.text; -- else if (strcmp(attr->name, "printer-type") == 0) type = attr->values[0].integer; -- attr = attr->next; -+ else if (strcmp(ippGetName(attr), "printer-name") == 0) name = ippGetString(attr, 0, NULL); -+ else if (strcmp(ippGetName(attr), "printer-type") == 0) type = ippGetInteger(attr, 0); -+ attr = ippNextAttribute(request_); - } - if (!(type & CUPS_PRINTER_REMOTE) && !name.isEmpty()) - resources_.append(new CupsResource("/classes/"+name)); -diff -Naur kdelibs-3.5.10-orig/kdeprint/cups/ipprequest.cpp kdelibs-3.5.10/kdeprint/cups/ipprequest.cpp ---- kdelibs-3.5.10-orig/kdeprint/cups/ipprequest.cpp 2012-10-06 14:49:37.521406729 -0400 -+++ kdelibs-3.5.10/kdeprint/cups/ipprequest.cpp 2012-10-06 15:12:00.919127451 -0400 -@@ -51,32 +51,34 @@ - kdDebug(500) << "Null request" << endl; - return; - } -- kdDebug(500) << "State = 0x" << QString::number(req->state, 16) << endl; -- kdDebug(500) << "ID = 0x" << QString::number(req->request.status.request_id, 16) << endl; -+ kdDebug(500) << "State = 0x" << QString::number(ippGetState(req), 16) << endl; -+ kdDebug(500) << "ID = 0x" << QString::number(ippGetRequestId(req), 16) << endl; - if (answer) - { -- kdDebug(500) << "Status = 0x" << QString::number(req->request.status.status_code, 16) << endl; -- kdDebug(500) << "Status message = " << ippErrorString(req->request.status.status_code) << endl; -+ kdDebug(500) << "Status = 0x" << QString::number(ippGetStatusCode(req), 16) << endl; -+ kdDebug(500) << "Status message = " << ippErrorString(ippGetStatusCode(req)) << endl; - } - else -- kdDebug(500) << "Operation = 0x" << QString::number(req->request.op.operation_id, 16) << endl; -- kdDebug(500) << "Version = " << (int)(req->request.status.version[0]) << "." << (int)(req->request.status.version[1]) << endl; -+ kdDebug(500) << "Operation = 0x" << QString::number(ippGetOperation(req), 16) << endl; -+ int minorVersion; -+ int majorVersion = ippGetVersion(req, &minorVersion); -+ kdDebug(500) << "Version = " << (int)(majorVersion) << "." << (int)(minorVersion) << endl; - kdDebug(500) << endl; - -- ipp_attribute_t *attr = req->attrs; -+ ipp_attribute_t *attr = ippFirstAttribute(req); - while (attr) - { -- QString s = QString::fromLatin1("%1 (0x%2) = ").arg(attr->name).arg(attr->value_tag, 0, 16); -- for (int i=0;i<attr->num_values;i++) -+ QString s = QString::fromLatin1("%1 (0x%2) = ").arg(ippGetName(attr)).arg(ippGetValueTag(attr), 0, 16); -+ for (int i=0;i<ippGetCount(attr);i++) - { -- switch (attr->value_tag) -+ switch (ippGetValueTag(attr)) - { - case IPP_TAG_INTEGER: - case IPP_TAG_ENUM: -- s += ("0x"+QString::number(attr->values[i].integer, 16)); -+ s += ("0x"+QString::number(ippGetInteger(attr, i), 16)); - break; - case IPP_TAG_BOOLEAN: -- s += (attr->values[i].boolean ? "true" : "false"); -+ s += (ippGetBoolean(attr, i) ? "true" : "false"); - break; - case IPP_TAG_STRING: - case IPP_TAG_TEXT: -@@ -88,16 +90,16 @@ - case IPP_TAG_TEXTLANG: - case IPP_TAG_CHARSET: - case IPP_TAG_LANGUAGE: -- s += attr->values[i].string.text; -+ s += ippGetString(attr, i, NULL); - break; - default: - break; - } -- if (i != (attr->num_values-1)) -+ if (i != (ippGetCount(attr)-1)) - s += ", "; - } - kdDebug(500) << s << endl; -- attr = attr->next; -+ attr = ippNextAttribute(req); - } - } - -@@ -177,7 +179,7 @@ - ipp_attribute_t *attr = ippAddStrings(request_,(ipp_tag_t)group,(ipp_tag_t)type,name.latin1(),(int)(values.count()),NULL,NULL); - int i(0); - for (QStringList::ConstIterator it=values.begin(); it != values.end(); ++it, i++) -- attr->values[i].string.text = strdup((*it).local8Bit()); -+ ippSetString(request_, &attr, i, strdup((*it).local8Bit())); - } - } - -@@ -193,7 +195,7 @@ - ipp_attribute_t *attr = ippAddIntegers(request_,(ipp_tag_t)group,(ipp_tag_t)type,name.latin1(),(int)(values.count()),NULL); - int i(0); - for (QValueList<int>::ConstIterator it=values.begin(); it != values.end(); ++it, i++) -- attr->values[i].integer = *it; -+ ippSetInteger(request_, &attr, i, *it); - } - } - -@@ -209,19 +211,19 @@ - ipp_attribute_t *attr = ippAddBooleans(request_,(ipp_tag_t)group,name.latin1(),(int)(values.count()),NULL); - int i(0); - for (QValueList<bool>::ConstIterator it=values.begin(); it != values.end(); ++it, i++) -- attr->values[i].boolean = (char)(*it); -+ ippSetBoolean(request_, &attr, i, (char)(*it)); - } - } - - void IppRequest::setOperation(int op) - { -- request_->request.op.operation_id = (ipp_op_t)op; -- request_->request.op.request_id = 1; // 0 is not RFC-compliant, should be at least 1 -+ ippSetOperation(request_, (ipp_op_t)op); -+ ippSetRequestId(request_, 1); // 0 is not RFC-compliant, should be at least 1 - } - - int IppRequest::status() - { -- return (request_ ? request_->request.status.status_code : (connect_ ? cupsLastError() : -2)); -+ return (request_ ? ippGetStatusCode(request_) : (connect_ ? cupsLastError() : -2)); - } - - QString IppRequest::statusMessage() -@@ -248,7 +250,7 @@ - ipp_attribute_t *attr = ippFindAttribute(request_, name.latin1(), (ipp_tag_t)type); - if (attr) - { -- value = attr->values[0].integer; -+ value = ippGetInteger(attr, 0); - return true; - } - else return false; -@@ -260,7 +262,7 @@ - ipp_attribute_t *attr = ippFindAttribute(request_, name.latin1(), (ipp_tag_t)type); - if (attr) - { -- value = QString::fromLocal8Bit(attr->values[0].string.text); -+ value = QString::fromLocal8Bit(ippGetString(attr, 0, NULL)); - return true; - } - else return false; -@@ -273,8 +275,8 @@ - values.clear(); - if (attr) - { -- for (int i=0;i<attr->num_values;i++) -- values.append(QString::fromLocal8Bit(attr->values[i].string.text)); -+ for (int i=0;i<ippGetCount(attr);i++) -+ values.append(QString::fromLocal8Bit(ippGetString(attr, i, NULL))); - return true; - } - else return false; -@@ -286,7 +288,7 @@ - ipp_attribute_t *attr = ippFindAttribute(request_, name.latin1(), IPP_TAG_BOOLEAN); - if (attr) - { -- value = (bool)attr->values[0].boolean; -+ value = (bool)ippGetBoolean(attr, 0); - return true; - } - else return false; -@@ -338,10 +340,10 @@ - } - - /* No printers found */ -- if ( request_ && request_->request.status.status_code == 0x406 ) -+ if ( request_ && ippGetStatusCode(request_) == 0x406 ) - return true; - -- if (!request_ || request_->state == IPP_ERROR || (request_->request.status.status_code & 0x0F00)) -+ if (!request_ || ippGetState(request_) == IPP_ERROR || (ippGetStatusCode(request_) & 0x0F00)) - return false; - - -@@ -356,36 +358,36 @@ - output << "<tr><th bgcolor=\"dark blue\"><font color=\"white\">" << i18n("Attribute") << "</font></th>" << endl; - output << "<th bgcolor=\"dark blue\"><font color=\"white\">" << i18n("Values") << "</font></th></tr>" << endl; - // go to the first attribute of the specified group -- ipp_attribute_t *attr = request_->attrs; -- while (attr && attr->group_tag != group) -- attr = attr->next; -+ ipp_attribute_t *attr = ippFirstAttribute(request_); -+ while (attr && ippGetGroupTag(attr) != group) -+ attr = ippNextAttribute(request_); - // print each attribute -- ipp_uchar_t *d; -- QCString dateStr; -- QDateTime dt; -- bool bg(false); -- while (attr && attr->group_tag == group) -+ const ipp_uchar_t *d; -+ QCString dateStr; -+ QDateTime dt; -+ bool bg(false); -+ while (attr && ippGetGroupTag(attr) == group) - { -- output << " <tr bgcolor=\"" << (bg ? "#ffffd9" : "#ffffff") << "\">\n <td><b>" << attr->name << "</b></td>\n <td>" << endl; -+ output << " <tr bgcolor=\"" << (bg ? "#ffffd9" : "#ffffff") << "\">\n <td><b>" << ippGetName(attr) << "</b></td>\n <td>" << endl; - bg = !bg; -- for (int i=0; i<attr->num_values; i++) -+ for (int i=0; i<ippGetCount(attr); i++) - { -- switch (attr->value_tag) -+ switch (ippGetValueTag(attr)) - { - case IPP_TAG_INTEGER: -- if (attr->name && strstr(attr->name, "time")) -+ if (ippGetName(attr) && strstr(ippGetName(attr), "time")) - { -- dt.setTime_t((unsigned int)(attr->values[i].integer)); -+ dt.setTime_t((unsigned int)(ippGetInteger(attr, i))); - output << dt.toString(); - } - else -- output << attr->values[i].integer; -+ output << ippGetInteger(attr, i); - break; - case IPP_TAG_ENUM: -- output << "0x" << hex << attr->values[i].integer << dec; -+ output << "0x" << hex << ippGetInteger(attr, i) << dec; - break; - case IPP_TAG_BOOLEAN: -- output << (attr->values[i].boolean ? i18n("True") : i18n("False")); -+ output << (ippGetBoolean(attr, i) ? i18n("True") : i18n("False")); - break; - case IPP_TAG_STRING: - case IPP_TAG_TEXTLANG: -@@ -397,18 +399,25 @@ - case IPP_TAG_CHARSET: - case IPP_TAG_LANGUAGE: - case IPP_TAG_MIMETYPE: -- output << attr->values[i].string.text; -+ output << ippGetString(attr, i, NULL); - break; - case IPP_TAG_RESOLUTION: -- output << "( " << attr->values[i].resolution.xres -- << ", " << attr->values[i].resolution.yres << " )"; -+ int xres; -+ int yres; -+ ipp_res_t units; -+ xres = ippGetResolution(attr, i, &yres, &units); -+ output << "( " << xres -+ << ", " << yres << " )"; - break; - case IPP_TAG_RANGE: -- output << "[ " << (attr->values[i].range.lower > 0 ? attr->values[i].range.lower : 1) -- << ", " << (attr->values[i].range.upper > 0 ? attr->values[i].range.upper : 65535) << " ]"; -+ int lowervalue; -+ int uppervalue; -+ lowervalue = ippGetRange(attr, i, &uppervalue); -+ output << "[ " << (lowervalue > 0 ? lowervalue : 1) -+ << ", " << (uppervalue > 0 ? uppervalue : 65535) << " ]"; - break; - case IPP_TAG_DATE: -- d = attr->values[i].date; -+ d = ippGetDate(attr, i); - dateStr.sprintf("%.4d-%.2d-%.2d, %.2d:%.2d:%.2d %c%.2d%.2d", - d[0]*256+d[1], d[2], d[3], - d[4], d[5], d[6], -@@ -418,11 +427,11 @@ - default: - continue; - } -- if (i < attr->num_values-1) -+ if (i < ippGetCount(attr)-1) - output << "<br>"; - } - output << "</td>\n </tr>" << endl; -- attr = attr->next; -+ attr = ippNextAttribute(request_); - } - // end table - output << "</table>" << endl; -@@ -438,31 +447,34 @@ - ipp_attribute_t *attr = first(); - while (attr) - { -- if (group != -1 && attr->group_tag != group) -+ if (group != -1 && ippGetGroupTag(attr) != group) - { -- attr = attr->next; -+ attr = ippNextAttribute(request_); - continue; - } - QString value; -- for (int i=0; i<attr->num_values; i++) -+ for (int i=0; i<ippGetCount(attr); i++) - { -- switch (attr->value_tag) -+ switch (ippGetValueTag(attr)) - { - case IPP_TAG_INTEGER: - case IPP_TAG_ENUM: -- value.append(QString::number(attr->values[i].integer)).append(","); -+ value.append(QString::number(ippGetInteger(attr, i))).append(","); - break; - case IPP_TAG_BOOLEAN: -- value.append((attr->values[i].boolean ? "true" : "false")).append(","); -+ value.append((ippGetBoolean(attr, i) ? "true" : "false")).append(","); - break; - case IPP_TAG_RANGE: -- if (attr->values[i].range.lower > 0) -- value.append(QString::number(attr->values[i].range.lower)); -- if (attr->values[i].range.lower != attr->values[i].range.upper) -+ int lowervalue; -+ int uppervalue; -+ lowervalue = ippGetRange(attr, i, &uppervalue); -+ if (lowervalue > 0) -+ value.append(QString::number(lowervalue)); -+ if (lowervalue != uppervalue) - { - value.append("-"); -- if (attr->values[i].range.upper > 0) -- value.append(QString::number(attr->values[i].range.upper)); -+ if (uppervalue > 0) -+ value.append(QString::number(uppervalue)); - } - value.append(","); - break; -@@ -476,7 +488,7 @@ - case IPP_TAG_TEXTLANG: - case IPP_TAG_CHARSET: - case IPP_TAG_LANGUAGE: -- value.append(QString::fromLocal8Bit(attr->values[i].string.text)).append(","); -+ value.append(QString::fromLocal8Bit(ippGetString(attr, i, NULL))).append(","); - break; - default: - break; -@@ -484,8 +496,8 @@ - } - if (!value.isEmpty()) - value.truncate(value.length()-1); -- opts[QString::fromLocal8Bit(attr->name)] = value; -- attr = attr->next; -+ opts[QString::fromLocal8Bit(ippGetName(attr))] = value; -+ attr = ippNextAttribute(request_); - } - } - return opts; -@@ -542,3 +554,7 @@ - } - #endif - } -+ -+ -+ipp_attribute_t* IppRequest::first() -+{ return (request_ ? ippFirstAttribute(request_) : NULL); } -diff -Naur kdelibs-3.5.10-orig/kdeprint/cups/ipprequest.h kdelibs-3.5.10/kdeprint/cups/ipprequest.h ---- kdelibs-3.5.10-orig/kdeprint/cups/ipprequest.h 2012-10-06 14:49:37.521406729 -0400 -+++ kdelibs-3.5.10/kdeprint/cups/ipprequest.h 2012-10-06 15:06:05.581489574 -0400 -@@ -72,7 +72,7 @@ - bool keyword(const QString& name, QStringList& value); - bool mime(const QString& name, QString& value); - ipp_attribute_t* first(); -- ipp_attribute_t* last(); -+ ipp_t* request(); - QMap<QString,QString> toMap(int group = -1); - void setMap(const QMap<QString,QString>& opts); - -@@ -178,12 +178,6 @@ - inline bool IppRequest::doRequest(const QString& res) - { return doFileRequest(res); } - --inline ipp_attribute_t* IppRequest::first() --{ return (request_ ? request_->attrs : NULL); } -- --inline ipp_attribute_t* IppRequest::last() --{ return (request_ ? request_->last : NULL); } -- - inline void IppRequest::setHost(const QString& host) - { host_ = host; } - -@@ -193,4 +187,7 @@ - inline void IppRequest::dump(int state) - { dump_ = state; } - -+inline ipp_t* IppRequest::request() -+{ return request_; } -+ - #endif -diff -Naur kdelibs-3.5.10-orig/kdeprint/cups/kmcupsjobmanager.cpp kdelibs-3.5.10/kdeprint/cups/kmcupsjobmanager.cpp ---- kdelibs-3.5.10-orig/kdeprint/cups/kmcupsjobmanager.cpp 2012-10-06 14:49:37.521406729 -0400 -+++ kdelibs-3.5.10/kdeprint/cups/kmcupsjobmanager.cpp 2012-10-06 15:13:31.451859386 -0400 -@@ -36,6 +36,8 @@ - #include <kdebug.h> - #include <kurl.h> - -+#include "config.h" -+ - KMCupsJobManager::KMCupsJobManager(QObject *parent, const char *name, const QStringList & /*args*/) - : KMJobManager(parent,name) - { -@@ -166,17 +168,18 @@ - void KMCupsJobManager::parseListAnswer(IppRequest& req, KMPrinter *pr) - { - ipp_attribute_t *attr = req.first(); -+ ipp_attribute_t *nextAttr; - KMJob *job = new KMJob(); - QString uri; - while (attr) - { -- QString name(attr->name); -- if (name == "job-id") job->setId(attr->values[0].integer); -- else if (name == "job-uri") job->setUri(QString::fromLocal8Bit(attr->values[0].string.text)); -- else if (name == "job-name") job->setName(QString::fromLocal8Bit(attr->values[0].string.text)); -+ QString name(ippGetName(attr)); -+ if (name == "job-id") job->setId(ippGetInteger(attr, 0)); -+ else if (name == "job-uri") job->setUri(QString::fromLocal8Bit(ippGetString(attr, 0, NULL))); -+ else if (name == "job-name") job->setName(QString::fromLocal8Bit(ippGetString(attr, 0, NULL))); - else if (name == "job-state") - { -- switch (attr->values[0].integer) -+ switch (ippGetInteger(attr, 0)) - { - case IPP_JOB_PENDING: - job->setState(KMJob::Queued); -@@ -204,29 +207,30 @@ - break; - } - } -- else if (name == "job-k-octets") job->setSize(attr->values[0].integer); -- else if (name == "job-originating-user-name") job->setOwner(QString::fromLocal8Bit(attr->values[0].string.text)); -- else if (name == "job-k-octets-completed") job->setProcessedSize(attr->values[0].integer); -- else if (name == "job-media-sheets") job->setPages(attr->values[0].integer); -- else if (name == "job-media-sheets-completed") job->setProcessedPages(attr->values[0].integer); -+ else if (name == "job-k-octets") job->setSize(ippGetInteger(attr, 0)); -+ else if (name == "job-originating-user-name") job->setOwner(QString::fromLocal8Bit(ippGetString(attr, 0, NULL))); -+ else if (name == "job-k-octets-completed") job->setProcessedSize(ippGetInteger(attr, 0)); -+ else if (name == "job-media-sheets") job->setPages(ippGetInteger(attr, 0)); -+ else if (name == "job-media-sheets-completed") job->setProcessedPages(ippGetInteger(attr, 0)); - else if (name == "job-printer-uri" && !pr->isRemote()) - { -- QString str(attr->values[0].string.text); -+ QString str(ippGetString(attr, 0, NULL)); - int p = str.findRev('/'); - if (p != -1) - job->setPrinter(str.mid(p+1)); - } - else if (name == "job-priority") - { -- job->setAttribute(0, QString::fromLatin1("%1").arg(attr->values[0].integer, 3)); -+ job->setAttribute(0, QString::fromLatin1("%1").arg(ippGetInteger(attr, 0), 3)); - } - else if (name == "job-billing") - { - job->setAttributeCount(2); -- job->setAttribute(1, QString::fromLocal8Bit(attr->values[0].string.text)); -+ job->setAttribute(1, QString::fromLocal8Bit(ippGetString(attr, 0, NULL))); - } - -- if (name.isEmpty() || attr == req.last()) -+ nextAttr = ippNextAttribute(req.request()); -+ if (name.isEmpty() || (!nextAttr)) - { - if (job->printer().isEmpty()) - job->setPrinter(pr->printerName()); -@@ -234,8 +238,7 @@ - addJob(job); // don't use job after this call !!! - job = new KMJob(); - } -- -- attr = attr->next; -+ attr = nextAttr; - } - delete job; - } -diff -Naur kdelibs-3.5.10-orig/kdeprint/cups/kmcupsmanager.cpp kdelibs-3.5.10/kdeprint/cups/kmcupsmanager.cpp ---- kdelibs-3.5.10-orig/kdeprint/cups/kmcupsmanager.cpp 2012-10-06 14:49:37.521406729 -0400 -+++ kdelibs-3.5.10/kdeprint/cups/kmcupsmanager.cpp 2012-10-06 15:14:22.311521604 -0400 -@@ -476,19 +476,20 @@ - void KMCupsManager::processRequest(IppRequest* req) - { - ipp_attribute_t *attr = req->first(); -+ ipp_attribute_t *nextAttr; - KMPrinter *printer = new KMPrinter(); - while (attr) - { -- QString attrname(attr->name); -+ QString attrname(ippGetName(attr)); - if (attrname == "printer-name") - { -- QString value = QString::fromLocal8Bit(attr->values[0].string.text); -+ QString value = QString::fromLocal8Bit(ippGetString(attr, 0, NULL)); - printer->setName(value); - printer->setPrinterName(value); - } - else if (attrname == "printer-type") - { -- int value = attr->values[0].integer; -+ int value = ippGetInteger(attr, 0); - printer->setType(0); - printer->addType(((value & CUPS_PRINTER_CLASS) || (value & CUPS_PRINTER_IMPLICIT) ? KMPrinter::Class : KMPrinter::Printer)); - if ((value & CUPS_PRINTER_REMOTE)) printer->addType(KMPrinter::Remote); -@@ -499,7 +500,7 @@ - } - else if (attrname == "printer-state") - { -- switch (attr->values[0].integer) -+ switch (ippGetInteger(attr, 0)) - { - case IPP_PRINTER_IDLE: printer->setState(KMPrinter::Idle); break; - case IPP_PRINTER_PROCESSING: printer->setState(KMPrinter::Processing); break; -@@ -508,22 +509,24 @@ - } - else if (attrname == "printer-uri-supported") - { -- printer->setUri(KURL(attr->values[0].string.text)); -+ printer->setUri(KURL(ippGetString(attr, 0, NULL))); - } - else if (attrname == "printer-location") - { -- printer->setLocation(QString::fromLocal8Bit(attr->values[0].string.text)); -+ printer->setLocation(QString::fromLocal8Bit(ippGetString(attr, 0, NULL))); - } - else if (attrname == "printer-is-accepting-jobs") - { -- printer->setAcceptJobs(attr->values[0].boolean); -+ printer->setAcceptJobs(ippGetBoolean(attr, 0)); - } -- if (attrname.isEmpty() || attr == req->last()) -+ -+ nextAttr = ippNextAttribute(req->request()); -+ if (attrname.isEmpty() || (!nextAttr)) - { - addPrinter(printer); - printer = new KMPrinter(); - } -- attr = attr->next; -+ attr = nextAttr; - } - delete printer; - } -@@ -817,6 +820,7 @@ - { - QStringList list; - IppRequest req; -+ ipp_attribute_t *nextAttr; - req.setOperation(CUPS_GET_DEVICES); - if (req.doRequest("/")) - { -@@ -824,12 +828,13 @@ - ipp_attribute_t *attr = req.first(); - while (attr) - { -- QString attrname(attr->name); -- if (attrname == "device-info") desc = attr->values[0].string.text; -- else if (attrname == "device-make-and-model") printer = attr->values[0].string.text; -- else if (attrname == "device-uri") uri = attr->values[0].string.text; -- else if ( attrname == "device-class" ) cl = attr->values[ 0 ].string.text; -- if (attrname.isEmpty() || attr == req.last()) -+ QString attrname(ippGetName(attr)); -+ if (attrname == "device-info") desc = ippGetString(attr, 0, NULL); -+ else if (attrname == "device-make-and-model") printer = ippGetString(attr, 0, NULL); -+ else if (attrname == "device-uri") uri = ippGetString(attr, 0, NULL); -+ else if ( attrname == "device-class" ) cl = ippGetString(attr, 0, NULL); -+ nextAttr = ippNextAttribute(req.request()); -+ if (attrname.isEmpty() || (!nextAttr)) - { - if (!uri.isEmpty()) - { -@@ -838,7 +843,7 @@ - } - uri = desc = printer = cl = QString::null; - } -- attr = attr->next; -+ attr = nextAttr; - } - } - return list; -diff -Naur kdelibs-3.5.10-orig/kdeprint/cups/kmcupsuimanager.cpp kdelibs-3.5.10/kdeprint/cups/kmcupsuimanager.cpp ---- kdelibs-3.5.10-orig/kdeprint/cups/kmcupsuimanager.cpp 2012-10-06 14:49:37.521406729 -0400 -+++ kdelibs-3.5.10/kdeprint/cups/kmcupsuimanager.cpp 2012-10-06 15:14:55.177970017 -0400 -@@ -60,6 +60,8 @@ - #include <kaction.h> - #include <kmessagebox.h> - -+#include "config.h" -+ - KMCupsUiManager::KMCupsUiManager(QObject *parent, const char *name, const QStringList & /*args*/) - : KMUiManager(parent,name) - { -@@ -143,22 +145,22 @@ - ipp_attribute_t *attr = req.first(); - while (attr) - { -- if (attr->name && strcmp(attr->name,"device-uri") == 0) -+ if (ippGetName(attr) && strcmp(ippGetName(attr),"device-uri") == 0) - { -- if (strncmp(attr->values[0].string.text,"socket",6) == 0) backend->enableBackend(KMWizard::TCP,true); -- else if (strncmp(attr->values[0].string.text,"parallel",8) == 0) backend->enableBackend(KMWizard::Local,true); -- else if (strncmp(attr->values[0].string.text,"serial",6) == 0) backend->enableBackend(KMWizard::Local,true); -- else if (strncmp(attr->values[0].string.text,"smb",3) == 0) backend->enableBackend(KMWizard::SMB,true); -- else if (strncmp(attr->values[0].string.text,"lpd",3) == 0) backend->enableBackend(KMWizard::LPD,true); -- else if (strncmp(attr->values[0].string.text,"usb",3) == 0) backend->enableBackend(KMWizard::Local,true); -- else if (strncmp(attr->values[0].string.text,"http",4) == 0 || strncmp(attr->values[0].string.text,"ipp",3) == 0) -+ if (strncmp(ippGetString(attr, 0, NULL),"socket",6) == 0) backend->enableBackend(KMWizard::TCP,true); -+ else if (strncmp(ippGetString(attr, 0, NULL),"parallel",8) == 0) backend->enableBackend(KMWizard::Local,true); -+ else if (strncmp(ippGetString(attr, 0, NULL),"serial",6) == 0) backend->enableBackend(KMWizard::Local,true); -+ else if (strncmp(ippGetString(attr, 0, NULL),"smb",3) == 0) backend->enableBackend(KMWizard::SMB,true); -+ else if (strncmp(ippGetString(attr, 0, NULL),"lpd",3) == 0) backend->enableBackend(KMWizard::LPD,true); -+ else if (strncmp(ippGetString(attr, 0, NULL),"usb",3) == 0) backend->enableBackend(KMWizard::Local,true); -+ else if (strncmp(ippGetString(attr, 0, NULL),"http",4) == 0 || strncmp(ippGetString(attr, 0, NULL),"ipp",3) == 0) - { - backend->enableBackend(KMWizard::IPP,true); - backend->enableBackend(KMWizard::Custom+1,true); - } -- else if (strncmp(attr->values[0].string.text,"fax",3) == 0) backend->enableBackend(KMWizard::Custom+2,true); -+ else if (strncmp(ippGetString(attr, 0, NULL),"fax",3) == 0) backend->enableBackend(KMWizard::Custom+2,true); - } -- attr = attr->next; -+ attr = ippNextAttribute(req.request()); - } - backend->enableBackend(KMWizard::Class, true); - backend->enableBackend(KMWizard::Custom+5, true); -diff -Naur kdelibs-3.5.10-orig/kdeprint/cups/kmwfax.cpp kdelibs-3.5.10/kdeprint/cups/kmwfax.cpp ---- kdelibs-3.5.10-orig/kdeprint/cups/kmwfax.cpp 2012-10-06 14:49:37.521406729 -0400 -+++ kdelibs-3.5.10/kdeprint/cups/kmwfax.cpp 2012-10-06 15:15:28.044418449 -0400 -@@ -30,6 +30,8 @@ - #include <kiconloader.h> - #include <kurl.h> - -+#include "config.h" -+ - KMWFax::KMWFax(QWidget *parent, const char *name) - : KMWizardPage(parent,name) - { -@@ -55,11 +57,11 @@ - ipp_attribute_t *attr = req.first(); - while (attr) - { -- if (attr->name && strcmp(attr->name,"device-uri") == 0 && strncmp(attr->values[0].string.text,"fax",3) == 0) -+ if (ippGetName(attr) && strcmp(ippGetName(attr),"device-uri") == 0 && strncmp(ippGetString(attr, 0, NULL),"fax",3) == 0) - { -- m_list->insertItem(SmallIcon("blockdevice"),QString::fromLatin1(attr->values[0].string.text)); -+ m_list->insertItem(SmallIcon("blockdevice"),QString::fromLatin1(ippGetString(attr, 0, NULL))); - } -- attr = attr->next; -+ attr = ippNextAttribute(req.request()); - } - } - } -diff -Naur kdelibs-3.5.10-orig/kdeprint/cups/kmwippselect.cpp kdelibs-3.5.10/kdeprint/cups/kmwippselect.cpp ---- kdelibs-3.5.10-orig/kdeprint/cups/kmwippselect.cpp 2012-10-06 14:49:37.521406729 -0400 -+++ kdelibs-3.5.10/kdeprint/cups/kmwippselect.cpp 2012-10-06 15:15:56.867560417 -0400 -@@ -29,6 +29,8 @@ - #include <kdebug.h> - #include <kiconloader.h> - -+#include "config.h" -+ - KMWIppSelect::KMWIppSelect(QWidget *parent, const char *name) - : KMWizardPage(parent,name) - { -@@ -83,9 +85,9 @@ - ipp_attribute_t *attr = req.first(); - while (attr) - { -- if (attr->name && strcmp(attr->name,"printer-name") == 0) -- m_list->insertItem(SmallIcon("kdeprint_printer"),QString::fromLatin1(attr->values[0].string.text)); -- attr = attr->next; -+ if (ippGetName(attr) && strcmp(ippGetName(attr),"printer-name") == 0) -+ m_list->insertItem(SmallIcon("kdeprint_printer"),QString::fromLatin1(ippGetString(attr, 0, NULL))); -+ attr = ippNextAttribute(req.request()); - } - m_list->sort(); - } |