Magellan Linux

Contents of /trunk/sane-backends/patches/sane-backends-1.0.22-xerox-mfp-usb.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1420 - (show annotations) (download)
Fri Jul 15 11:51:22 2011 UTC (12 years, 10 months ago) by niro
File size: 2308 byte(s)
added patches for 1.0.22
1 From 5ea227caeacd504b64eef301e83fa63e0a25b3f7 Mon Sep 17 00:00:00 2001
2 From: Alex Belkin <abc@telekom.ru>
3 Date: Tue, 8 Mar 2011 17:57:19 +0300
4 Subject: [PATCH] keep usb device by default (correct for bug introduced by tcp sub-backend
5
6 ---
7 backend/xerox_mfp.c | 27 +++++++++++----------------
8 1 files changed, 11 insertions(+), 16 deletions(-)
9
10 diff --git a/backend/xerox_mfp.c b/backend/xerox_mfp.c
11 index e08b50f..d4672a7 100644
12 --- a/backend/xerox_mfp.c
13 +++ b/backend/xerox_mfp.c
14 @@ -37,10 +37,10 @@
15 static const SANE_Device **devlist = NULL; /* sane_get_devices array */
16 static struct device *devices_head = NULL; /* sane_get_devices list */
17
18 -transport available_transports[] = {
19 +enum { TRANSPORT_USB, TRANSPORT_TCP, TRANSPORTS_MAX };
20 +transport available_transports[TRANSPORTS_MAX] = {
21 { "usb", usb_dev_request, usb_dev_open, usb_dev_close, usb_configure_device },
22 { "tcp", tcp_dev_request, tcp_dev_open, tcp_dev_close, tcp_configure_device },
23 - { 0 }
24 };
25
26 static int resolv_state(int state)
27 @@ -824,7 +824,13 @@ free_devices (void)
28 devices_head = NULL;
29 }
30
31 -/* SANE API ignores return code of this callback */
32 +static transport *tr_from_devname(SANE_String_Const devname)
33 +{
34 + if (strncmp("tcp", devname, 3) == 0)
35 + return &available_transports[TRANSPORT_TCP];
36 + return &available_transports[TRANSPORT_USB];
37 +}
38 +
39 static SANE_Status
40 list_one_device (SANE_String_Const devname)
41 {
42 @@ -839,12 +845,7 @@ list_one_device (SANE_String_Const devname)
43 return SANE_STATUS_GOOD;
44 }
45
46 - for (tr = available_transports; tr->ttype; tr++) {
47 - if (!strncmp (devname, tr->ttype, strlen(tr->ttype)))
48 - break;
49 - }
50 - if (!tr->ttype)
51 - return SANE_STATUS_INVAL;
52 + tr = tr_from_devname(devname);
53
54 dev = calloc (1, sizeof (struct device));
55 if (dev == NULL)
56 @@ -878,13 +879,7 @@ list_one_device (SANE_String_Const devname)
57 static SANE_Status
58 list_conf_devices (UNUSED (SANEI_Config * config), const char *devname)
59 {
60 - transport *tr;
61 -
62 - for (tr = available_transports; tr->ttype; tr++) {
63 - if (!strncmp (devname, tr->ttype, strlen(tr->ttype)))
64 - return tr->configure_device(devname, list_one_device);
65 - }
66 - return SANE_STATUS_INVAL;
67 + return tr_from_devname(devname)->configure_device(devname, list_one_device);
68 }
69
70 SANE_Status
71 --
72 1.7.1
73