Make ls standards compliant

Except we aren't using the standard JshFrame struct. We should probably
have a meeting to discuss how we're going to organize that going
forward.
This commit is contained in:
Ian Adam Naval 2014-09-16 22:08:12 -04:00
parent dc064e8ea7
commit 58009824b6

View File

@ -12,7 +12,7 @@ import (
func get_fileinfo(f string, size bool, mode bool, inode bool) string { func get_fileinfo(f string, size bool, mode bool, inode bool) string {
var stat syscall.Stat_t var stat syscall.Stat_t
var ret string var ret string
ret = "{\"name\":\"" + f + "\"" ret = "{\"files\": [{\"name\":\"" + f + "\""
if err := syscall.Stat(f, &stat); err != nil { if err := syscall.Stat(f, &stat); err != nil {
log.Fatal(err) log.Fatal(err)
} }
@ -25,7 +25,7 @@ func get_fileinfo(f string, size bool, mode bool, inode bool) string {
if inode { if inode {
ret = ret + ", \"inode\":" + strconv.FormatUint(stat.Ino, 10) ret = ret + ", \"inode\":" + strconv.FormatUint(stat.Ino, 10)
} }
ret = ret + "}" ret = ret + "}]}"
return ret return ret
} }
@ -48,7 +48,7 @@ func main() {
root := "." //flag.Arg(0) root := "." //flag.Arg(0)
dir, _ := ioutil.ReadDir(root) dir, _ := ioutil.ReadDir(root)
fmt.Printf("[\n") fmt.Printf("[{\"StdOut\": [\n")
if !a_flag { if !a_flag {
for _, entry := range dir { for _, entry := range dir {
@ -71,5 +71,5 @@ func main() {
fmt.Printf("%s\n", get_fileinfo(entry.Name(), size_flag, mode_flag, inode_flag)) fmt.Printf("%s\n", get_fileinfo(entry.Name(), size_flag, mode_flag, inode_flag))
} }
} }
fmt.Printf("]\n") fmt.Printf("], \"StdErr\": []}]\n")
} }