summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlin Năstac <mrness@gentoo.org>2006-05-06 06:07:55 +0000
committerAlin Năstac <mrness@gentoo.org>2006-05-06 06:07:55 +0000
commitba8b66142c945103d367eeb629b9c12d789b35e3 (patch)
treeed061a335d25fd472022f9358cfdcb2fb307244e /app-mobilephone/obexftp/files
parentfix locale-gen parsing, update the Fedora tarball, and push out some mips fixes (diff)
downloadgentoo-2-ba8b66142c945103d367eeb629b9c12d789b35e3.tar.gz
gentoo-2-ba8b66142c945103d367eeb629b9c12d789b35e3.tar.bz2
gentoo-2-ba8b66142c945103d367eeb629b9c12d789b35e3.zip
remove old version; take over the maintainership; fix program freeze (#131603)
(Portage version: 2.0.54)
Diffstat (limited to 'app-mobilephone/obexftp/files')
-rw-r--r--app-mobilephone/obexftp/files/digest-obexftp-0.10.7-r11
-rw-r--r--app-mobilephone/obexftp/files/digest-obexftp-0.19-r11
-rw-r--r--app-mobilephone/obexftp/files/obexftp-0.10.7-t610-jpg.patch11
-rw-r--r--app-mobilephone/obexftp/files/obexftp-0.19-cobex_write.patch60
4 files changed, 61 insertions, 12 deletions
diff --git a/app-mobilephone/obexftp/files/digest-obexftp-0.10.7-r1 b/app-mobilephone/obexftp/files/digest-obexftp-0.10.7-r1
deleted file mode 100644
index 3386d5ed7bac..000000000000
--- a/app-mobilephone/obexftp/files/digest-obexftp-0.10.7-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 e827f68bddc3c38229a08c264614f054 obexftp-0.10.7.tar.gz 378238
diff --git a/app-mobilephone/obexftp/files/digest-obexftp-0.19-r1 b/app-mobilephone/obexftp/files/digest-obexftp-0.19-r1
new file mode 100644
index 000000000000..a1f8b0ad394e
--- /dev/null
+++ b/app-mobilephone/obexftp/files/digest-obexftp-0.19-r1
@@ -0,0 +1 @@
+MD5 895212816ca94a8b56090d8671dc18fa obexftp-0.19.tar.gz 460515
diff --git a/app-mobilephone/obexftp/files/obexftp-0.10.7-t610-jpg.patch b/app-mobilephone/obexftp/files/obexftp-0.10.7-t610-jpg.patch
deleted file mode 100644
index bf3d16646943..000000000000
--- a/app-mobilephone/obexftp/files/obexftp-0.10.7-t610-jpg.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- obexftp/object.c~ 2004-11-18 23:37:36.000000000 +0100
-+++ obexftp/object.c 2005-01-09 18:01:01.000000000 +0100
-@@ -200,7 +200,7 @@
-
- if (create == 0) {
- // set the 'Don't Create' bit
-- setpath_nohdr_data[1] ^= 2;
-+ setpath_nohdr_data[0] |= 2;
- }
- if (name) {
- ucname_len = strlen(name)*2 + 2;
diff --git a/app-mobilephone/obexftp/files/obexftp-0.19-cobex_write.patch b/app-mobilephone/obexftp/files/obexftp-0.19-cobex_write.patch
new file mode 100644
index 000000000000..becd250cde75
--- /dev/null
+++ b/app-mobilephone/obexftp/files/obexftp-0.19-cobex_write.patch
@@ -0,0 +1,60 @@
+diff -Nru obexftp-0.19.orig/multicobex/multi_cobex.c obexftp-0.19/multicobex/multi_cobex.c
+--- obexftp-0.19.orig/multicobex/multi_cobex.c 2005-11-24 16:55:11.000000000 +0200
++++ obexftp-0.19/multicobex/multi_cobex.c 2006-04-29 21:13:47.955525000 +0300
+@@ -126,7 +126,7 @@
+ /* Called from OBEX-lib when data needs to be written */
+ int cobex_write(obex_t *self, void *data, uint8_t *buffer, int length)
+ {
+- int actual;
++ int written;
+ cobex_t *c;
+ return_val_if_fail (self != NULL, -1);
+ return_val_if_fail (data != NULL, -1);
+@@ -137,24 +137,37 @@
+ DEBUG(3, "%s() Data %d bytes\n", __func__, length);
+
+ if (c->type == CT_ERICSSON || c->type == CT_SIEMENS) {
+- actual = write(c->fd, buffer, length);
+- if (actual < length) {
+- DEBUG(1, "Error writing to port (%d expected %d)\n", actual, length);
+- return actual; /* or -1? */
++ int retries=0, chunk, fails=0;
++ written = 0;
++ for (retries = 0; written < length; retries++) {
++ chunk = write(c->fd, buffer+written, length-written);
++ if (chunk <= 0) {
++ if ( ++fails >= 10 ) { // to avoid infinite looping if something is really wrong
++ DEBUG(1, "%s() Error writing to port (written %d bytes out of %d, in %d retries)\n", __func__, written, length, retries);
++ return written;
++ }
++ usleep(1); // This mysteriously avoids a resource not available error on write()
++ } else {
++ written += chunk;
++ fails = 0; // Reset error counter on successful write op
++ }
+ }
+- return actual;
++
++ if (retries > 0)
++ DEBUG(2, "%s() Wrote %d bytes in %d retries\n", __func__, written, retries);
++ return written;
+ }
+
+ if (c->seq == 0){
+- actual = bfb_send_first(c->fd, buffer, length);
+- DEBUG(2, "%s() Wrote %d first packets (%d bytes)\n", __func__, actual, length);
++ written = bfb_send_first(c->fd, buffer, length);
++ DEBUG(2, "%s() Wrote %d first packets (%d bytes)\n", __func__, written, length);
+ } else {
+- actual = bfb_send_next(c->fd, buffer, length, c->seq);
+- DEBUG(2, "%s() Wrote %d packets (%d bytes)\n", __func__, actual, length);
++ written = bfb_send_next(c->fd, buffer, length, c->seq);
++ DEBUG(2, "%s() Wrote %d packets (%d bytes)\n", __func__, written, length);
+ }
+ c->seq++;
+
+- return actual;
++ return written;
+ }
+
+ /* Called when input data is needed */