@@ -26,7 +26,9 @@ func getTerminalMap() (map[uint64]string, error) {
2626 ret := make (map [uint64 ]string )
2727 var termfiles []string
2828
29- d , err := os .Open ("/dev" )
29+ devPath := common .HostDev ()
30+
31+ d , err := os .Open (devPath )
3032 if err != nil {
3133 return nil , err
3234 }
@@ -37,32 +39,29 @@ func getTerminalMap() (map[uint64]string, error) {
3739 return nil , err
3840 }
3941 for _ , devname := range devnames {
40- if strings .HasPrefix (devname , "/dev/ tty" ) {
41- termfiles = append (termfiles , "/dev/tty/" + devname )
42+ if strings .HasPrefix (devname , "tty" ) {
43+ termfiles = append (termfiles , filepath . Join ( devPath , devname ) )
4244 }
4345 }
4446
4547 var ptsnames []string
46- ptsd , err := os .Open ("/dev/pts" )
48+ ptsPath := filepath .Join (devPath , "pts" )
49+ ptsd , err := os .Open (ptsPath )
4750 if err != nil {
48- ptsnames , _ = filepath .Glob ("/dev/ ttyp*" )
51+ ptsnames , _ = filepath .Glob (filepath . Join ( devPath , " ttyp*") )
4952 if ptsnames == nil {
5053 return nil , err
5154 }
52- }
53- defer ptsd .Close ()
54-
55- if ptsnames == nil {
55+ termfiles = append (termfiles , ptsnames ... )
56+ } else {
5657 defer ptsd .Close ()
5758 ptsnames , err = ptsd .Readdirnames (- 1 )
5859 if err != nil {
5960 return nil , err
6061 }
6162 for _ , ptsname := range ptsnames {
62- termfiles = append (termfiles , "/dev/pts/" + ptsname )
63+ termfiles = append (termfiles , filepath . Join ( ptsPath , ptsname ) )
6364 }
64- } else {
65- termfiles = ptsnames
6665 }
6766
6867 for _ , name := range termfiles {
@@ -72,7 +71,7 @@ func getTerminalMap() (map[uint64]string, error) {
7271 return nil , err
7372 }
7473 rdev := uint64 (stat .Rdev )
75- ret [rdev ] = strings .ReplaceAll (name , "/dev" , "" )
74+ ret [rdev ] = strings .TrimPrefix (name , devPath + string ( os . PathSeparator ) )
7675 }
7776 return ret , nil
7877}
0 commit comments