]> Cypherpunks repositories - gostls13.git/commitdiff
os: fix error returned by dirstat on Plan 9
authorDavid du Colombier <0intro@gmail.com>
Wed, 10 Jun 2015 20:32:14 +0000 (22:32 +0200)
committerDavid du Colombier <0intro@gmail.com>
Thu, 11 Jun 2015 05:47:07 +0000 (05:47 +0000)
When the Stat or Fstat system calls return -1,
dirstat incorrectly returns ErrShortStat.

However, the error returned by Stat or Fstat
could be different. For example, when the
file doesn't exist, they return "does not exist".

Dirstat should return the error returned by
the system call.

Fixes #10911.
Fixes #11132.

Change-Id: Icf242d203d256f12366b1e277f99b1458385104a
Reviewed-on: https://go-review.googlesource.com/10900
Run-TryBot: David du Colombier <0intro@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/os/stat_plan9.go

index 57227876f1c6fe7777e81f73c7ac120d1421d12e..ddb304fd944b8f8d13c8f1ad363c0bfdb7715657 100644 (file)
@@ -63,7 +63,7 @@ func dirstat(arg interface{}) (*syscall.Dir, error) {
                }
 
                if n < _BIT16SZ {
-                       return nil, &PathError{"stat", name, syscall.ErrShortStat}
+                       return nil, &PathError{"stat", name, err}
                }
 
                // Pull the real size out of the stat message.