Contents of /trunk/sane-backends/patches/sane-backends-1.0.22-xerox-mfp-usb.patch
Parent Directory | Revision Log
Revision 1420 -
(show annotations)
(download)
Fri Jul 15 11:51:22 2011 UTC (13 years, 2 months ago) by niro
File size: 2308 byte(s)
Fri Jul 15 11:51:22 2011 UTC (13 years, 2 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 |