rendered paste bodydiff -upNr qpxtool-0.6.1.orign/lib/include/qpx_transport.h qpxtool-0.6.1/lib/include/qpx_transport.h--- qpxtool-0.6.1.orign/lib/include/qpx_transport.h 2007-08-19 16:04:14.000000000 +0200+++ qpxtool-0.6.1/lib/include/qpx_transport.h 2008-02-16 23:00:32.000000000 +0100@@ -78,6 +78,14 @@ class autofree { #if defined(__linux) +const unsigned char scsi_command_size[8] =+{+ 6, 10, 10, 12,+ 16, 12, 10, 10+};++#define COMMAND_SIZE(opcode) scsi_command_size[((opcode) >> 5) & 7]+ //#include <sys/ioctl.h> #include <linux/cdrom.h> //#include <mntent.h>@@ -159,7 +167,7 @@ public: } #endif }- sg_io.cmd_len = i+1;+ sg_io.cmd_len = COMMAND_SIZE(cgc.cmd[i]); return cgc.cmd[i]; } unsigned char &operator()(size_t i) { return _sense.u[i]; }diff -upNr qpxtool-0.6.1.orign/lib/qpxtransport/include/qpx_transport.h qpxtool-0.6.1/lib/qpxtransport/include/qpx_transport.h--- qpxtool-0.6.1.orign/lib/qpxtransport/include/qpx_transport.h 2007-08-19 16:04:14.000000000 +0200+++ qpxtool-0.6.1/lib/qpxtransport/include/qpx_transport.h 2008-02-16 23:00:32.000000000 +0100@@ -78,6 +78,14 @@ class autofree { #if defined(__linux) +const unsigned char scsi_command_size[8] =+{+ 6, 10, 10, 12,+ 16, 12, 10, 10+};++#define COMMAND_SIZE(opcode) scsi_command_size[((opcode) >> 5) & 7]+ //#include <sys/ioctl.h> #include <linux/cdrom.h> //#include <mntent.h>@@ -159,7 +167,7 @@ public: } #endif }- sg_io.cmd_len = i+1;+ sg_io.cmd_len = COMMAND_SIZE(cgc.cmd[0]); return cgc.cmd[i]; } unsigned char &operator()(size_t i) { return _sense.u[i]; }