ref: c0c014364fd93f3daafec4934bc035f1aec4e773
parent: 295d55901af45d32853794745613ae741dab66e8
author: penny <penny@limitedideas.org>
date: Tue Nov 25 23:03:37 EST 2025
remove printf
--- a/main.go
+++ b/main.go
@@ -14,11 +14,15 @@
fs.BaseFile
real *os.File
realwrite *os.File
+ snarfStream fs.Stream
}
func (f *snarfile) Write(fid uint64, offset uint64, data []byte) (uint32, error) {f.realwrite.Write(data)
- fmt.Println(string(data))
+ _, err := f.snarfStream.Write(data)
+ if err != nil {+ fmt.Printf("Error writing to snarfStream: %v\n", err)+ }
return uint32(len(data)), nil
}
@@ -28,12 +32,13 @@
return content, err
}
-func newSnarf(fsys *fs.FS, name, uid, gid string, perm uint32, real *os.File, realwrite *os.File) *snarfile {+func newSnarf(fsys *fs.FS, name, uid, gid string, perm uint32, real *os.File, realwrite *os.File, stream fs.Stream) *snarfile {stat := fsys.NewStat(name, uid, gid, perm)
return &snarfile{BaseFile: *fs.NewBaseFile(stat),
real: real,
realwrite: realwrite,
+ snarfStream: stream,
}
}
@@ -40,6 +45,15 @@
func main() { fid, dir := fs.NewFS("penny", "penny", proto.DMDIR|0644)+ snarfStream := fs.NewSkippingStream(1024) // Buffer size 1024 bytes
+ snarfLogStat := fid.NewStat("snarflog", "penny", "penny", 0644)+ snarfLogFile := fs.NewStreamFile(snarfLogStat, snarfStream)
+
+ if err := dir.AddChild(snarfLogFile); err != nil {+ fmt.Printf("Err adding snarflog: %s\n", err)+ return
+ }
+
realread, err := os.OpenFile("/dev/snarf", os.O_RDONLY, 0644) if err != nil { fmt.Printf("Coudn't open snarf: %s\n", err)@@ -50,7 +64,7 @@
fmt.Printf("Coudn't open snarf for writing: %s\n", err)return
}
- snarf := newSnarf(fid, "snarf", "penny", "penny", 0644, realread, realwrite)
+ snarf := newSnarf(fid, "snarf", "penny", "penny", 0644, realread, realwrite, snarfStream)
if err := dir.AddChild(snarf); err != nil { fmt.Printf("Err: %s\n", err)--
⑨