+++ /dev/null
-From a380fb089499f6b5192c07ae2feaa3376997382f Mon Sep 17 00:00:00 2001
-From: Olaf Meeuwissen <paddy-hack@member.fsf.org>
-Date: Sun, 13 Sep 2020 18:47:32 +0900
-Subject: [PATCH] pixma: Restore old behaviour in case XML support is missing
-
-Fixes #345.
----
- backend/pixma/pixma_common.c | 4 ++--
- backend/pixma/pixma_common.h | 2 ++
- backend/pixma/pixma_mp150.c | 8 ++++++++
- backend/pixma/pixma_mp800.c | 8 ++++++++
- 4 files changed, 20 insertions(+), 2 deletions(-)
-
---- a/backend/pixma/pixma_common.c
-+++ b/backend/pixma/pixma_common.c
-@@ -56,8 +56,6 @@
-
- #if defined(HAVE_LIBXML2)
- # include <libxml/parser.h>
--#else
--# error "The pixma backend requires libxml2"
- #endif
-
- #include "pixma_rename.h"
-@@ -1241,6 +1239,7 @@ pixma_get_device_status (pixma_t * s, pi
- return s->ops->get_status (s, status);
- }
-
-+#if defined(HAVE_LIBXML2)
- static const char *
- format_xml_response(const char *resp_details)
- {
-@@ -1334,3 +1333,4 @@ clean:
- xmlFreeDoc(doc);
- return status;
- }
-+#endif
---- a/backend/pixma/pixma_common.h
-+++ b/backend/pixma/pixma_common.h
-@@ -205,7 +205,9 @@ uint8_t *pixma_newcmd (pixma_cmdbuf_t *,
- int pixma_exec (pixma_t *, pixma_cmdbuf_t *);
- int pixma_exec_short_cmd (pixma_t *, pixma_cmdbuf_t *, unsigned cmd);
- int pixma_map_status_errno (unsigned status);
-+#if defined(HAVE_LIBXML2)
- int pixma_parse_xml_response(const char *xml_message);
-+#endif
- /**@}*/
-
- #define pixma_fill_checksum(start, end) do { \
---- a/backend/pixma/pixma_mp150.c
-+++ b/backend/pixma/pixma_mp150.c
-@@ -322,6 +322,10 @@
- <ivec:param_set servicetype=\"scan\"><ivec:jobID>00000001</ivec:jobID>\
- </ivec:param_set></ivec:contents></cmd>"
-
-+#if !defined(HAVE_LIBXML2)
-+#define XML_OK "<ivec:response>OK</ivec:response>"
-+#endif
-+
- enum mp150_state_t
- {
- state_idle,
-@@ -459,7 +463,11 @@ send_xml_dialog (pixma_t * s, const char
- PDBG (pixma_dbg (10, "XML message sent to scanner:\n%s\n", xml_message));
- PDBG (pixma_dbg (10, "XML response back from scanner:\n%s\n", mp->cb.buf));
-
-+#if defined(HAVE_LIBXML2)
- return pixma_parse_xml_response((const char*)mp->cb.buf) == PIXMA_STATUS_OK;
-+#else
-+ return (strcasestr ((const char *) mp->cb.buf, XML_OK) != NULL);
-+#endif
- }
-
- static int
---- a/backend/pixma/pixma_mp800.c
-+++ b/backend/pixma/pixma_mp800.c
-@@ -152,6 +152,10 @@
- <ivec:param_set servicetype=\"scan\"><ivec:jobID>00000001</ivec:jobID>\
- </ivec:param_set></ivec:contents></cmd>"
-
-+#if !defined(HAVE_LIBXML2)
-+#define XML_OK "<ivec:response>OK</ivec:response>"
-+#endif
-+
- enum mp810_state_t
- {
- state_idle,
-@@ -291,7 +295,11 @@ static int send_xml_dialog (pixma_t * s,
- PDBG(pixma_dbg (10, "XML message sent to scanner:\n%s\n", xml_message));
- PDBG(pixma_dbg (10, "XML response back from scanner:\n%s\n", mp->cb.buf));
-
-+#if defined(HAVE_LIBXML2)
- return pixma_parse_xml_response((const char*)mp->cb.buf) == PIXMA_STATUS_OK;
-+#else
-+ return (strcasestr ((const char *) mp->cb.buf, XML_OK) != NULL);
-+#endif
- }
-
- static void new_cmd_tpu_msg (pixma_t *s, pixma_cmdbuf_t * cb, uint16_t cmd)