8
8
"os"
9
9
"os/user"
10
10
"path"
11
- "strconv"
12
11
"syscall"
13
12
"time"
14
13
)
@@ -21,23 +20,14 @@ func runLsStatt(dirent os.FileInfo, statt *syscall.Stat_t) string {
21
20
22
21
typeword := runLsTypeWord (dirent )
23
22
numLinks := statt .Nlink
24
- uid := statt .Uid
25
- usr , err := user .LookupId (strconv .Itoa (int (uid )))
26
- var username string
27
- if err == nil {
23
+ username := fmt .Sprintf ("%d" , statt .Uid )
24
+ if usr , err := user .LookupId (username ); err == nil {
28
25
username = usr .Username
29
- } else {
30
- username = fmt .Sprintf ("%d" , uid )
31
26
}
32
- gid := statt .Gid
33
- grp , err := user .LookupGroupId (strconv .Itoa (int (gid )))
34
- var groupname string
35
- if err == nil {
27
+ groupname := fmt .Sprintf ("%d" , statt .Gid )
28
+ if grp , err := user .LookupGroupId (groupname ); err == nil {
36
29
groupname = grp .Name
37
- } else {
38
- groupname = fmt .Sprintf ("%d" , gid )
39
30
}
40
-
41
31
mtime := dirent .ModTime ()
42
32
monthStr := mtime .Month ().String ()[0 :3 ]
43
33
day := mtime .Day ()
@@ -50,7 +40,9 @@ func runLsStatt(dirent os.FileInfo, statt *syscall.Stat_t) string {
50
40
yearOrTime = fmt .Sprintf ("%d" , year )
51
41
}
52
42
53
- return fmt .Sprintf ("%s %4d %-8s %-8s %8d %s %2d %5s %s" , typeword , numLinks , username , groupname , dirent .Size (), monthStr , day , yearOrTime , dirent .Name ())
43
+ return fmt .Sprintf ("%s %4d %-8s %-8s %8d %s %2d %5s %s" , typeword ,
44
+ numLinks , username , groupname , dirent .Size (), monthStr , day ,
45
+ yearOrTime , dirent .Name ())
54
46
}
55
47
56
48
// ls -l style output for a file, which is in the 'long output' section of a readdir response packet
0 commit comments