if _, err = io.ReadFull(rand.Reader, rnd); err != nil {
fatal(err.Error())
}
- fn = "." + base32.StdEncoding.WithPadding(base32.NoPadding).EncodeToString(rnd) +
- ext
+ fn = "." + base32.StdEncoding.WithPadding(base32.NoPadding).EncodeToString(rnd) + ext
fd, err := os.OpenFile(fn, os.O_RDWR|os.O_CREATE|os.O_EXCL, os.FileMode(0666))
if err != nil {
fatal(err.Error())
if _, err = io.CopyN(mw, mr, int64(size-1)); err != nil {
goto Failed
}
- if _, err = mr.Read(buf[:1]); err != nil {
+ if len(buf) == 0 {
+ buf = append(buf, 0)
+ } else {
+ buf = buf[:1]
+ }
+ if _, err = mr.Read(buf); err != nil {
goto Failed
}
- if _, err = mw.Write(buf[:1]); err != nil {
+ if _, err = mw.Write(buf); err != nil {
goto Failed
}
if (ext == ".txt" || ext == ".url") && buf[0] != '\n' {
goto Failed
}
}
- if _, err = mr.Read(buf[:1]); err != nil {
+ if _, err = mr.Read(buf); err != nil {
goto Failed
}
if buf[0] != 'e' {