17 files := make([]string, 0, 32)
18 err := filepath.Walk(root, func(p string, f os.FileInfo, err error) error {
23 files = append(files, p)
28 fmt.Fprintf(os.Stderr, "** Error: %s\n", err.Error())
32 _, err = rand.Read(b[:])
34 fmt.Fprintf(os.Stderr, "Failed to access cryptographic randomness. " +
35 "Error: %s\n\n", err.Error())
38 i, err := rand.Int(bytes.NewReader(b[:]), big.NewInt(int64(len(files))))
40 fmt.Fprintf(os.Stderr, "Failed to get a random int. Error: %s\n", err.Error())
45 fmt.Printf("%s\n", root + "/" + files[j])