diff options
author | Harvey Tindall <hrfee@protonmail.ch> | 2021-10-29 15:07:56 +0100 |
---|---|---|
committer | Harvey Tindall <hrfee@protonmail.ch> | 2021-10-29 15:10:53 +0100 |
commit | 4b71fa248ad07e23a62d1d5811e163113e1baab1 (patch) | |
tree | ce791022a267f9ae1dafe208a8da80e017dd95ab | |
parent | c26c13e984b8835d216a83cef666d7da875cfb4e (diff) | |
download | waybar-mpris-4b71fa248ad07e23a62d1d5811e163113e1baab1.tar.gz waybar-mpris-4b71fa248ad07e23a62d1d5811e163113e1baab1.zip |
Truncate file when directly sharing
Fixes bug where recipient instance would have a bit of the previous
track data on the end of the output if the previous track data was
longer, which effectively froze the output on waybar as it was no longer
valid JSON.
-rw-r--r-- | main.go | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -540,12 +540,17 @@ type emptyEveryWrite struct { } func (w emptyEveryWrite) Write(p []byte) (n int, err error) { + n = len(p) + // Set new size in case previous data was longer and would leave garbage at the end of the file. + err = w.file.Truncate(int64(n)) + if err != nil { + return 0, err + } offset, err := w.file.Seek(0, 0) if err != nil { return 0, err } _, err = w.file.WriteAt(p, offset) - n = len(p) return } |