Skip to content

Commit

Permalink
Use filepath.EvalSymlinks for sysPath
Browse files Browse the repository at this point in the history
  • Loading branch information
blp1526 committed Mar 2, 2019
1 parent 73f57c7 commit 6672b24
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 11 deletions.
3 changes: 0 additions & 3 deletions .sample.go111.envrc

This file was deleted.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ A Linux Block Device Info Library

### As A Package

```
```go
package main

import (
Expand Down
17 changes: 10 additions & 7 deletions blkinfo.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ type BlkInfo struct {
Path string `json:"path" yaml:"path" `
RealPath string `json:"real_path" yaml:"real_path" `
Mountpoint string `json:"mountpoint" yaml:"mountpoint" `
SysPath string `json:"sys_path" yaml:"sys_path" `
UdevDataPath string `json:"udev_data_path" yaml:"udev_data_path"`
ParentPath string `json:"parent_path" yaml:"parent_path" `
ChildPaths []string `json:"child_paths" yaml:"child_paths" `
SysPath string `json:"sys_path" yaml:"sys_path" `
Sys *Sys `json:"sys" yaml:"sys" `
UdevDataPath string `json:"udev_data_path" yaml:"udev_data_path"`
UdevData []string `json:"udev_data" yaml:"udev_data" `
}

Expand Down Expand Up @@ -190,7 +190,7 @@ func relatedPaths(path string) (sysPath string, parentPath string, childPaths []
case fileInfoName:
// for example /sys/block/sda
sysPath = filepath.Join(blockPath, fileInfoName)
fileInfoList, err := ioutil.ReadDir(sysPath)
fileInfoList, err = ioutil.ReadDir(sysPath)
if err != nil {
return "", "", []string{}, err
}
Expand All @@ -202,16 +202,19 @@ func relatedPaths(path string) (sysPath string, parentPath string, childPaths []
childPaths = append(childPaths, filepath.Join("/", "dev", fileInfoName))
}
}

parentPath = ""
return sysPath, parentPath, childPaths, nil
default:
// for example /sys/block/sda/sda1
sysPath = filepath.Join(blockPath, fileInfoName, devName)
parentPath = filepath.Join("/", "dev", fileInfoName)
childPaths = []string{}
return sysPath, parentPath, childPaths, nil
}

sysPath, err = filepath.EvalSymlinks(sysPath)
if err != nil {
return "", "", []string{}, err
}

return sysPath, parentPath, childPaths, nil
}
}

Expand Down

0 comments on commit 6672b24

Please sign in to comment.