github.com/polym/upx@v0.2.6/reader.go (about) 1 package main 2 3 import ( 4 "os" 5 ) 6 7 type ProgressReader struct { 8 fd *os.File 9 coyed int 10 } 11 12 func (r *ProgressReader) Len() int { 13 fInfo, _ := r.fd.Stat() 14 return int(fInfo.Size()) 15 } 16 17 func (r *ProgressReader) MD5() string { 18 return "" 19 } 20 21 func (r *ProgressReader) Read(b []byte) (n int, err error) { 22 n, err = r.fd.Read(b) 23 r.coyed += n 24 return 25 } 26 27 func (r *ProgressReader) Copyed() int { 28 return r.coyed 29 }