ref: ec572a53a9acb392df42fa69f4051898480acad7
parent: a1dad874469ff664375e9165d41034a1ee92b505
author: cinap_lenrek <[email protected]>
date: Fri Jun 27 21:36:37 EDT 2014
ptp: fix alignment assumptions for amd64
--- 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);