diff --git a/reader.go b/reader.go index 4b82493..e9e1ed9 100644 --- a/reader.go +++ b/reader.go @@ -85,7 +85,7 @@ func (rd *Reader) octal(b []byte) int64 { i-- } - n, _ := strconv.ParseInt(string(b[3:i+1]), 8, 64) + n, _ := strconv.ParseInt(string(b[0:i+1]), 8, 64) return n } diff --git a/reader_test.go b/reader_test.go index a2657f5..a43d590 100644 --- a/reader_test.go +++ b/reader_test.go @@ -58,7 +58,7 @@ func TestReadHeader(t *testing.T) { if header.Gid != expectedGid { t.Errorf("Gid should be %s but is %s", expectedGid, header.Gid) } - expectedMode := int64(0644) + expectedMode := int64(0100644) if header.Mode != expectedMode { t.Errorf("Mode should be %s but is %s", expectedMode, header.Mode) }