Lines 1-62
Link Here
|
1 |
--- bsd.c.orig Mon Nov 11 19:04:16 2002 |
|
|
2 |
+++ bsd.c Sun Nov 23 15:51:49 2003 |
3 |
@@ -276,7 +276,7 @@ |
4 |
int usb_bulk_write(usb_dev_handle *dev, int ep, char *bytes, int size, |
5 |
int timeout) |
6 |
{ |
7 |
- int fd, ret, sent = 0; |
8 |
+ int fd, ret; |
9 |
|
10 |
/* Ensure the endpoint address is correct */ |
11 |
ep &= ~USB_ENDPOINT_IN; |
12 |
@@ -298,8 +298,7 @@ |
13 |
USB_ERROR_STR(ret, "error setting timeout: %s", |
14 |
strerror(errno)); |
15 |
|
16 |
- do { |
17 |
- ret = write(fd, bytes+sent, size-sent); |
18 |
+ ret = write(fd, bytes, size); |
19 |
if (ret < 0) |
20 |
#if __FreeBSD__ |
21 |
USB_ERROR_STR(ret, "error writing to bulk endpoint %s.%d: %s", |
22 |
@@ -309,16 +308,13 @@ |
23 |
dev->device->filename, UE_GET_ADDR(ep), strerror(errno)); |
24 |
#endif |
25 |
|
26 |
- sent += ret; |
27 |
- } while(ret > 0 && sent < size); |
28 |
- |
29 |
- return sent; |
30 |
+ return ret; |
31 |
} |
32 |
|
33 |
int usb_bulk_read(usb_dev_handle *dev, int ep, char *bytes, int size, |
34 |
int timeout) |
35 |
{ |
36 |
- int fd, ret, retrieved = 0, one = 1; |
37 |
+ int fd, ret, one = 1; |
38 |
|
39 |
/* Ensure the endpoint address is correct */ |
40 |
ep |= USB_ENDPOINT_IN; |
41 |
@@ -345,8 +341,7 @@ |
42 |
USB_ERROR_STR(ret, "error setting short xfer: %s", |
43 |
strerror(errno)); |
44 |
|
45 |
- do { |
46 |
- ret = read(fd, bytes+retrieved, size-retrieved); |
47 |
+ ret = read(fd, bytes, size); |
48 |
if (ret < 0) |
49 |
#if __FreeBSD__ |
50 |
USB_ERROR_STR(ret, "error reading from bulk endpoint %s.%d: %s", |
51 |
@@ -355,10 +350,8 @@ |
52 |
USB_ERROR_STR(ret, "error reading from bulk endpoint %s.%02d: %s", |
53 |
dev->device->filename, UE_GET_ADDR(ep), strerror(errno)); |
54 |
#endif |
55 |
- retrieved += ret; |
56 |
- } while (ret > 0 && retrieved < size); |
57 |
|
58 |
- return retrieved; |
59 |
+ return ret; |
60 |
} |
61 |
|
62 |
int usb_control_msg(usb_dev_handle *dev, int requesttype, int request, |