ref: 9d30b0f32dd9d8219805ed0d3ef04605c5f461cf
parent: 5aee1a997f8a682b3fb9f935f014057e9366ce52
parent: ec572a53a9acb392df42fa69f4051898480acad7
author: mischief <[email protected]>
date: Fri Jun 27 19:51:14 EDT 2014
merge
--- a/sys/src/cmd/nusb/ptp/ptp.c
+++ b/sys/src/cmd/nusb/ptp/ptp.c
@@ -45,10 +45,7 @@
uchar type[2];
uchar code[2];
uchar transid[4];
- union {
- uchar p[5][4];
- uchar d[52];
- };
+ uchar d[52];
};
struct Node
@@ -225,7 +222,7 @@
for(i=0; i<np; i++){
int x = va_arg(a, int);
- PUT4(rpc.p[i], x);
+ PUT4(rpc.d + i*4, x);
}
if(debug)
hexdump("req>", (uchar*)&rpc, n);
@@ -351,10 +348,10 @@
if(flags & OutParam){
int *pp;
- for(i=0; i<nelem(rpc.p); i++){
+ for(i=0; i<5; i++){
if((pp = va_arg(a, int*)) == nil)
break;
- *pp = GET4(rpc.p[i]);
+ *pp = GET4(rpc.d + i*4);
}
}
return 0;
@@ -1040,7 +1037,7 @@
time0 = time(0);
- snprint(name, sizeof name, "sdU%d.0", d->id);
+ snprint(name, sizeof name, "sdU%d", d->id);
snprint(desc, sizeof desc, "%d.ptp", d->id);
threadpostsharesrv(&fs, nil, name, desc);
--- a/sys/src/cmd/upas/fs/imap4.c
+++ b/sys/src/cmd/upas/fs/imap4.c
@@ -9,7 +9,18 @@
#pragma varargck type "Z" char*
int doublequote(Fmt*);
-int pipeline = 1;
+
+// if pipeline == 1 and upas/fs is used with dovecot,
+// 9Xn OK responses sometimes come much later after FETCH responses, i.e.
+// <- * 1 FETCH ...
+// <- * 2 FETCH ...
+// <- * 3 FETCH ...
+// <- 9X5 OK Fetch completed.
+// <- 9X6 OK Fetch completed.
+// download 40: did not get message body
+// <- 9X7 OK Fetch completed.
+// causing multiple messages to turn into one in imap4.c:/^imap4resp.
+int pipeline = 0;
static char Eio[] = "i/o error";