aboutsummaryrefslogtreecommitdiff
path: root/lib/sg_pt_freebsd.c
diff options
context:
space:
mode:
authorDouglas Gilbert <dgilbert@interlog.com>2021-03-03 20:46:45 +0000
committerDouglas Gilbert <dgilbert@interlog.com>2021-03-03 20:46:45 +0000
commit19b5bcdaf6a28ec9d8c08009ddbbbffefa91d692 (patch)
treee23193669a9ce25b666a7174e4abe49cdd934269 /lib/sg_pt_freebsd.c
parentc85bc94aab90ec84da455d0c84449c7d747647f5 (diff)
downloadsg3_utils-19b5bcdaf6a28ec9d8c08009ddbbbffefa91d692.tar.gz
sg_ses: add --all (-a) option, same action as --join; another freebsd fix
git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@878 6180dd3e-e324-4e3e-922d-17de1ae2f315
Diffstat (limited to 'lib/sg_pt_freebsd.c')
-rw-r--r--lib/sg_pt_freebsd.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/sg_pt_freebsd.c b/lib/sg_pt_freebsd.c
index 180b582d..4a3845f6 100644
--- a/lib/sg_pt_freebsd.c
+++ b/lib/sg_pt_freebsd.c
@@ -7,7 +7,7 @@
* SPDX-License-Identifier: BSD-2-Clause
*/
-/* sg_pt_freebsd version 1.38 20210221 */
+/* sg_pt_freebsd version 1.39 20210225 */
#include <stdio.h>
#include <stdlib.h>
@@ -166,7 +166,6 @@ scsi_pt_open_flags(const char * device_name, int oflags, int vb)
struct freebsd_dev_channel *fdc_p = NULL;
struct cam_device* cam_dev;
struct stat a_stat;
- char b[PATH_MAX];
char dev_nm[PATH_MAX];
// Search table for a free entry
@@ -184,6 +183,8 @@ scsi_pt_open_flags(const char * device_name, int oflags, int vb)
}
first_ch = device_name[0];
if (('/' != first_ch) && ('.' != first_ch)) {
+ char b[PATH_MAX];
+
/* Step 1: if device_name is symlink, follow it */
s = readlink(device_name, b, sizeof(b));
if (s <= 0) {
@@ -220,11 +221,11 @@ scsi_pt_open_flags(const char * device_name, int oflags, int vb)
nv_ctrlid = broadcast_nsid;
possible_nvme = false;
while (true) { /* dummy loop, so can 'break' out */
- if(sscanf(b, NVME_CTRLR_PREFIX "%u%c", &nv_ctrlid, &tmp) == 1) {
+ if(sscanf(dev_nm, NVME_CTRLR_PREFIX "%u%c", &nv_ctrlid, &tmp) == 1) {
if(nv_ctrlid == broadcast_nsid)
break;
- } else if (sscanf(b, NVME_CTRLR_PREFIX "%d" NVME_NS_PREFIX "%d%c",
- &nv_ctrlid, &nsid, &tmp) == 2) {
+ } else if (sscanf(dev_nm, NVME_CTRLR_PREFIX "%d" NVME_NS_PREFIX
+ "%d%c", &nv_ctrlid, &nsid, &tmp) == 2) {
if((nv_ctrlid == broadcast_nsid) || (nsid == broadcast_nsid))
break;
} else