aboutsummaryrefslogtreecommitdiff
path: root/src/sg_stream_ctl.c
diff options
context:
space:
mode:
authorDouglas Gilbert <dgilbert@interlog.com>2022-10-27 18:07:47 +0000
committerDouglas Gilbert <dgilbert@interlog.com>2022-10-27 18:07:47 +0000
commit7ce49e15a453f598ce6cc08933c5d961dcf86b46 (patch)
tree4018c626168817c8880f984210b19a12045b45d0 /src/sg_stream_ctl.c
parentdf021e02a8ebe19d0537bb836b988bc7d424f79e (diff)
downloadsg3_utils-7ce49e15a453f598ce6cc08933c5d961dcf86b46.tar.gz
sg_stream_ctl: fix --get indexing; fix some './configure --enable-debug' issues
git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@976 6180dd3e-e324-4e3e-922d-17de1ae2f315
Diffstat (limited to 'src/sg_stream_ctl.c')
-rw-r--r--src/sg_stream_ctl.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/sg_stream_ctl.c b/src/sg_stream_ctl.c
index 6a07afc0..1f353e96 100644
--- a/src/sg_stream_ctl.c
+++ b/src/sg_stream_ctl.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2021 Douglas Gilbert.
+ * Copyright (c) 2018-2022 Douglas Gilbert.
* All rights reserved.
* Use of this source code is governed by a BSD-style
* license that can be found in the BSD_LICENSE file.
@@ -35,7 +35,7 @@
* to the given SCSI device. Based on sbc4r15.pdf .
*/
-static const char * version_str = "1.11 20211114";
+static const char * version_str = "1.12 20221026";
#define STREAM_CONTROL_SA 0x14
#define GET_STREAM_STATUS_SA 0x16
@@ -433,7 +433,7 @@ main(int argc, char * argv[])
}
goto fini;
}
- if ((maxlen - resid) < 4) {
+ if ((maxlen - resid) < 8) {
pr2serr("Response too short (%d bytes) assigned stream id\n",
k);
printf("-1\n");
@@ -441,7 +441,7 @@ main(int argc, char * argv[])
goto fini;
} else
maxlen -= resid;
- param_dl = sg_get_unaligned_be32(arr + 0) + 4;
+ param_dl = sg_get_unaligned_be32(arr + 0) + 8;
if (param_dl > (uint32_t)maxlen) {
pr2serr("Response truncated, need to set --maxlen=%u\n",
param_dl);
@@ -457,7 +457,7 @@ main(int argc, char * argv[])
printf("Number of open streams: %u\n", num_streams);
}
maxlen = ((uint32_t)maxlen < param_dl) ? maxlen : (int)param_dl;
- for (k = 8; k < (maxlen - 4); k += 8) {
+ for (k = 8; k < (maxlen - 8); k += 8) {
stream_id = sg_get_unaligned_be16(arr + k + 2);
if (do_brief)
printf("%u\n", stream_id);