diff options
author | Douglas Gilbert <dgilbert@interlog.com> | 2022-10-27 18:07:47 +0000 |
---|---|---|
committer | Douglas Gilbert <dgilbert@interlog.com> | 2022-10-27 18:07:47 +0000 |
commit | 7ce49e15a453f598ce6cc08933c5d961dcf86b46 (patch) | |
tree | 4018c626168817c8880f984210b19a12045b45d0 /src/sg_stream_ctl.c | |
parent | df021e02a8ebe19d0537bb836b988bc7d424f79e (diff) | |
download | sg3_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.c | 10 |
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); |