|
|
f0a8d61 |
--- avrdude-5.5/usbtiny.c 2007-10-29 09:40:04.000000000 -0600
|
|
|
f0a8d61 |
+++ avrdude-5.5.patched/usbtiny.c 2008-01-06 07:13:41.000000000 -0700
|
|
|
f0a8d61 |
@@ -138,7 +138,7 @@
|
|
|
f0a8d61 |
fprintf( stderr, "Operation %d not defined for this chip!\n", op );
|
|
|
f0a8d61 |
return -1;
|
|
|
f0a8d61 |
}
|
|
|
f0a8d61 |
- memset(cmd, 0, sizeof(cmd));
|
|
|
f0a8d61 |
+ memset(cmd, 0, 4);
|
|
|
f0a8d61 |
avr_set_bits(p->op[op], cmd);
|
|
|
f0a8d61 |
|
|
|
f0a8d61 |
return pgm->cmd(pgm, cmd, res);
|
|
|
f0a8d61 |
@@ -286,19 +286,19 @@
|
|
|
f0a8d61 |
int nbytes;
|
|
|
f0a8d61 |
|
|
|
f0a8d61 |
// Make sure its empty so we don't read previous calls if it fails
|
|
|
f0a8d61 |
- memset(res, '\0', sizeof(res) );
|
|
|
f0a8d61 |
+ memset(res, '\0', 4 );
|
|
|
f0a8d61 |
|
|
|
f0a8d61 |
nbytes = usb_in( USBTINY_SPI,
|
|
|
f0a8d61 |
(cmd[1] << 8) | cmd[0], // convert to 16-bit words
|
|
|
f0a8d61 |
(cmd[3] << 8) | cmd[2], // "
|
|
|
f0a8d61 |
- res, sizeof(res), 8 * sck_period );
|
|
|
f0a8d61 |
+ res, 4, 8 * sck_period );
|
|
|
f0a8d61 |
if (verbose > 1) {
|
|
|
f0a8d61 |
// print out the data we sent and received
|
|
|
f0a8d61 |
- printf( "CMD: [%02x %02x %02x %02x] [%02x %02x %02x %02x]\n",
|
|
|
f0a8d61 |
+ printf( "CMD: [%02x %02x %02x %02x] [%02x %02x %02x %02x] \n",
|
|
|
f0a8d61 |
cmd[0], cmd[1], cmd[2], cmd[3],
|
|
|
f0a8d61 |
res[0], res[1], res[2], res[3] );
|
|
|
f0a8d61 |
}
|
|
|
f0a8d61 |
- return ((nbytes == sizeof(res)) && // should have read 4 bytes
|
|
|
f0a8d61 |
+ return ((nbytes == 4) && // should have read 4 bytes
|
|
|
f0a8d61 |
res[2] == cmd[1]); // AVR's do a delayed-echo thing
|
|
|
f0a8d61 |
}
|
|
|
f0a8d61 |
|