mirror of
https://github.com/samuelncui/acp.git
synced 2025-12-23 05:05:15 +00:00
feat: export UnexpectFileMode
This commit is contained in:
12
index.go
12
index.go
@@ -10,7 +10,7 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
unexpectFileMode = os.ModeType &^ os.ModeDir
|
||||
UnexpectFileMode = os.ModeType &^ os.ModeDir
|
||||
)
|
||||
|
||||
type counter struct {
|
||||
@@ -76,10 +76,7 @@ func (c *Copyer) walk(ctx context.Context) []*baseJob {
|
||||
}
|
||||
|
||||
mode := stat.Mode()
|
||||
if mode&unexpectFileMode != 0 {
|
||||
return
|
||||
}
|
||||
if !mode.IsDir() {
|
||||
if mode.IsRegular() {
|
||||
job, err := c.newJobFromFileInfo(src, stat)
|
||||
if err != nil {
|
||||
c.reportError(path, "", fmt.Errorf("make job fail, %w", err))
|
||||
@@ -89,6 +86,9 @@ func (c *Copyer) walk(ctx context.Context) []*baseJob {
|
||||
appendJob(job)
|
||||
return
|
||||
}
|
||||
if mode&UnexpectFileMode != 0 {
|
||||
return
|
||||
}
|
||||
|
||||
files, err := os.ReadDir(path)
|
||||
if err != nil {
|
||||
@@ -98,8 +98,6 @@ func (c *Copyer) walk(ctx context.Context) []*baseJob {
|
||||
for _, file := range files {
|
||||
walk(src.append(file.Name()))
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
for _, s := range c.src {
|
||||
walk(s)
|
||||
|
||||
4
job.go
4
job.go
@@ -34,7 +34,6 @@ type baseJob struct {
|
||||
copyer *Copyer
|
||||
source *source
|
||||
|
||||
name string // base name of the file
|
||||
size int64 // length in bytes for regular files; system-dependent for others
|
||||
mode os.FileMode // file mode bits
|
||||
modTime time.Time // modification time
|
||||
@@ -53,12 +52,11 @@ func (c *Copyer) newJobFromFileInfo(source *source, info os.FileInfo) (*baseJob,
|
||||
copyer: c,
|
||||
source: source,
|
||||
|
||||
name: info.Name(),
|
||||
size: info.Size(),
|
||||
mode: info.Mode(),
|
||||
modTime: info.ModTime(),
|
||||
}
|
||||
if job.mode.IsDir() || job.mode&unexpectFileMode != 0 {
|
||||
if !job.mode.IsRegular() {
|
||||
return nil, fmt.Errorf("unexpected file, path= %s", source.src())
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user