scsi_log (_T("\n"));
}
if (scsi_sense) {
- trap_put_bytes(ctx, sd->sense, scsi_sense, sd->sense_len < scsi_sense_len ? sd->sense_len : scsi_sense_len);
+ int slen = sd->sense_len < scsi_sense_len ? sd->sense_len : scsi_sense_len;
+ trap_put_bytes(ctx, sd->sense, scsi_sense, slen);
if (scsi_sense_len > sd->sense_len) {
trap_set_bytes(ctx, scsi_sense + sd->sense_len, 0, scsi_sense_len - sd->sense_len);
}
+ put_word_host(scsicmd + 28, slen); /* scsi_SenseActual */
+ } else {
+ put_word_host(scsicmd + 28, 0);
}
if (sd->data_len < 0) {
put_long_host(scsicmd + 8, 0); /* scsi_Actual */
} else { /* we don't want users trashing their "partition" hardfiles with hdtoolbox */
error = handle_scsi(ctx, iobuf, request, hfd, hfpd->sd, true);
}
+ actual = 30; // sizeof(struct SCSICmd)
break;
#endif