1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
--- os_freebsd.cpp.orig 2006-09-17 05:17:53.000000000 +0200
+++ os_freebsd.cpp 2007-10-21 18:09:02.000000000 +0200
@@ -873,6 +873,7 @@
static const char * fbsd_dev_prefix = "/dev/";
static const char * fbsd_dev_ata_disk_prefix = "ad";
static const char * fbsd_dev_scsi_disk_plus = "da";
+static const char * fbsd_dev_scsi_pass = "pass";
static const char * fbsd_dev_scsi_tape1 = "sa";
static const char * fbsd_dev_scsi_tape2 = "nsa";
static const char * fbsd_dev_scsi_tape3 = "esa";
@@ -908,6 +909,11 @@
return CONTROLLER_ATA;
}
+ // form /dev/pass* or pass*
+ if (!strncmp(fbsd_dev_scsi_pass, dev_name,
+ strlen(fbsd_dev_scsi_pass)))
+ goto handlescsi;
+
// form /dev/da* or da*
if (!strncmp(fbsd_dev_scsi_disk_plus, dev_name,
strlen(fbsd_dev_scsi_disk_plus)))
@@ -1008,7 +1014,7 @@
// to first list. Turn on NOCHECK for second call. This results in no
// error if no more matches found, however it does append the actual
// pattern to the list of paths....
- if ((retglob=glob(pattern1, GLOB_ERR, NULL, &globbuf)) ||
+ if ((retglob=glob(pattern1, GLOB_ERR|GLOB_NOCHECK, NULL, &globbuf)) ||
(retglob=glob(pattern2, GLOB_ERR|GLOB_APPEND|GLOB_NOCHECK,NULL,&globbuf))) {
int retval = -1;
// glob failed
|