[packages] sane-backends: backport upstream commit 5ea227caeacd504b64eef301e83fa63e0a25b3f7 (#11575)
git-svn-id: svn://svn.openwrt.org/openwrt/packages@32036 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
6ae933bd34
commit
8b3c813162
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2006-2011 OpenWrt.org
|
||||
# Copyright (C) 2006-2012 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=sane-backends
|
||||
PKG_VERSION:=1.0.22
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=3
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=ftp://ftp.sane-project.org/pub/sane/$(PKG_NAME)-$(PKG_VERSION) \
|
||||
|
@ -0,0 +1,68 @@
|
||||
From 5ea227caeacd504b64eef301e83fa63e0a25b3f7 Mon Sep 17 00:00:00 2001
|
||||
From: Alex Belkin <abc@telekom.ru>
|
||||
Date: Tue, 8 Mar 2011 17:57:19 +0300
|
||||
Subject: [PATCH] keep usb device by default (correct for bug introduced by tcp sub-backend
|
||||
|
||||
---
|
||||
backend/xerox_mfp.c | 27 +++++++++++----------------
|
||||
1 files changed, 11 insertions(+), 16 deletions(-)
|
||||
|
||||
--- a/backend/xerox_mfp.c
|
||||
+++ b/backend/xerox_mfp.c
|
||||
@@ -37,10 +37,10 @@
|
||||
static const SANE_Device **devlist = NULL; /* sane_get_devices array */
|
||||
static struct device *devices_head = NULL; /* sane_get_devices list */
|
||||
|
||||
-transport available_transports[] = {
|
||||
+enum { TRANSPORT_USB, TRANSPORT_TCP, TRANSPORTS_MAX };
|
||||
+transport available_transports[TRANSPORTS_MAX] = {
|
||||
{ "usb", usb_dev_request, usb_dev_open, usb_dev_close, usb_configure_device },
|
||||
{ "tcp", tcp_dev_request, tcp_dev_open, tcp_dev_close, tcp_configure_device },
|
||||
- { 0 }
|
||||
};
|
||||
|
||||
static int resolv_state(int state)
|
||||
@@ -824,7 +824,13 @@ free_devices (void)
|
||||
devices_head = NULL;
|
||||
}
|
||||
|
||||
-/* SANE API ignores return code of this callback */
|
||||
+static transport *tr_from_devname(SANE_String_Const devname)
|
||||
+{
|
||||
+ if (strncmp("tcp", devname, 3) == 0)
|
||||
+ return &available_transports[TRANSPORT_TCP];
|
||||
+ return &available_transports[TRANSPORT_USB];
|
||||
+}
|
||||
+
|
||||
static SANE_Status
|
||||
list_one_device (SANE_String_Const devname)
|
||||
{
|
||||
@@ -839,12 +845,7 @@ list_one_device (SANE_String_Const devna
|
||||
return SANE_STATUS_GOOD;
|
||||
}
|
||||
|
||||
- for (tr = available_transports; tr->ttype; tr++) {
|
||||
- if (!strncmp (devname, tr->ttype, strlen(tr->ttype)))
|
||||
- break;
|
||||
- }
|
||||
- if (!tr->ttype)
|
||||
- return SANE_STATUS_INVAL;
|
||||
+ tr = tr_from_devname(devname);
|
||||
|
||||
dev = calloc (1, sizeof (struct device));
|
||||
if (dev == NULL)
|
||||
@@ -878,13 +879,7 @@ list_one_device (SANE_String_Const devna
|
||||
static SANE_Status
|
||||
list_conf_devices (UNUSED (SANEI_Config * config), const char *devname)
|
||||
{
|
||||
- transport *tr;
|
||||
-
|
||||
- for (tr = available_transports; tr->ttype; tr++) {
|
||||
- if (!strncmp (devname, tr->ttype, strlen(tr->ttype)))
|
||||
- return tr->configure_device(devname, list_one_device);
|
||||
- }
|
||||
- return SANE_STATUS_INVAL;
|
||||
+ return tr_from_devname(devname)->configure_device(devname, list_one_device);
|
||||
}
|
||||
|
||||
SANE_Status
|
Loading…
x
Reference in New Issue
Block a user