X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=src%2Ftmp.go;h=aee58677518a562c55d7be7c56931061b2dbf83c;hb=0367cce2741e1ce6a89a49fd5c4e9df6005c9744;hp=6d1e49c08e132794b5faa1934342bbb7b5d32823;hpb=4d3bfefd603b573deced768ba65863dea1645a58;p=nncp.git diff --git a/src/tmp.go b/src/tmp.go index 6d1e49c..aee5867 100644 --- a/src/tmp.go +++ b/src/tmp.go @@ -1,6 +1,6 @@ /* NNCP -- Node to Node copy, utilities for store-and-forward data exchange -Copyright (C) 2016-2021 Sergey Matveev +Copyright (C) 2016-2022 Sergey Matveev This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -37,13 +37,8 @@ func TempFile(dir, prefix string) (*os.File, error) { func (ctx *Ctx) NewTmpFile() (*os.File, error) { jobsPath := filepath.Join(ctx.Spool, "tmp") - if _, err := os.Stat(jobsPath); err != nil { - if !os.IsNotExist(err) { - return nil, err - } - if err := os.MkdirAll(jobsPath, os.FileMode(0777)); err != nil { - return nil, err - } + if err := ensureDir(jobsPath); err != nil { + return nil, err } fd, err := TempFile(jobsPath, "") if err == nil { @@ -100,13 +95,8 @@ func (tmp *TmpFileWHash) Checksum() string { func (tmp *TmpFileWHash) Commit(dir string) error { var err error - if _, err = os.Stat(dir); err != nil { - if !os.IsNotExist(err) { - return err - } - if err = os.MkdirAll(dir, os.FileMode(0777)); err != nil { - return err - } + if err = ensureDir(dir); err != nil { + return err } if err = tmp.W.Flush(); err != nil { tmp.Fd.Close()