Annotation of /trunk/sane-backends/patches/sane-backends-1.0.22-xerox-mfp-usb.patch
Parent Directory | Revision Log
Revision 1420 -
(hide 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 | niro | 1420 | 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 |