return ErrLine(err)
}
defer fd.Close()
- fi, err := fd.Stat()
+ inode, isDir, err := inodeFromFileByFd(fd)
if err != nil {
- return err
+ return ErrLine(err)
}
- if fi.IsDir() {
+ if isDir {
return nil
}
- inode, err := inodeFromFileByFd(fd)
- if err != nil {
- return err
- }
if hsh == "" {
hsh, err = fileHash(fd)
if err != nil {
ifchanges []map[string]string
}
+var missingBuild = errors.New(".rec missing Build:")
+
func depRead(fdDep io.Reader) (*DepInfo, error) {
r := recfile.NewReader(fdDep)
m, err := r.NextMap()
depInfo := DepInfo{}
b := m["Build"]
if b == "" {
- return nil, errors.New(".rec missing Build:")
+ return nil, missingBuild
}
depInfo.build = b
for {
}
return &depInfo, nil
}
+
+func depReadBuild(pth string) (string, error) {
+ fd, err := os.Open(pth)
+ if err != nil {
+ return "", err
+ }
+ r := recfile.NewReader(fd)
+ m, err := r.NextMap()
+ fd.Close()
+ if err != nil {
+ return "", err
+ }
+ build := m["Build"]
+ if build == "" {
+ err = missingBuild
+ }
+ return build, err
+}