github.com/anacrolix/torrent@v1.61.0/cmd/torrent/total-length.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  	"path/filepath"
     7  )
     8  
     9  func totalLength(path string) (totalLength int64, err error) {
    10  	err = filepath.Walk(path, func(path string, info os.FileInfo, err error) error {
    11  		if info.IsDir() {
    12  			return nil
    13  		}
    14  		totalLength += info.Size()
    15  		return nil
    16  	})
    17  	if err != nil {
    18  		return 0, fmt.Errorf("walking path, %w", err)
    19  	}
    20  	return totalLength, nil
    21  }