Add trailing file separator to temp dir - hugo - [fork] hugo port for 9front
HTML git clone git@git.drkhsh.at/hugo.git
DIR Log
DIR Files
DIR Refs
DIR Submodules
DIR README
DIR LICENSE
---
DIR commit a3892685bc33b7518894ea21ae2d8a7c9f29e735
DIR parent f0c8585b5003ee2bb49f331a2fef9e4f2a780d13
HTML Author: Cyrill Schumacher <cyrill@schumacher.fm>
Date: Thu, 19 Feb 2015 09:19:35 +1100
Add trailing file separator to temp dir
Make sure that the file separator is added to the temp dir in all cases.
This prevents cache temp files being written to the root temp folder.
Fixes #910
Diffstat:
M helpers/path.go | 27 +++++++++++++++------------
1 file changed, 15 insertions(+), 12 deletions(-)
---
DIR diff --git a/helpers/path.go b/helpers/path.go
@@ -16,15 +16,16 @@ package helpers
import (
"errors"
"fmt"
- "github.com/spf13/afero"
- jww "github.com/spf13/jwalterweatherman"
- "github.com/spf13/viper"
"io"
"os"
"path/filepath"
"regexp"
"strings"
"unicode"
+
+ "github.com/spf13/afero"
+ jww "github.com/spf13/jwalterweatherman"
+ "github.com/spf13/viper"
)
// Bridge for common functionality in filepath vs path
@@ -439,12 +440,16 @@ func WriteToDisk(inpath string, r io.Reader, fs afero.Fs) (err error) {
}
// GetTempDir returns the OS default temp directory with trailing slash
-// if subPath is not empty then it will be created recursively
+// if subPath is not empty then it will be created recursively with mode 777 rwx rwx rwx
func GetTempDir(subPath string, fs afero.Fs) string {
- dir := os.TempDir()
- if FilePathSeparator != dir[len(dir)-1:] {
- dir = dir + FilePathSeparator
+ addSlash := func(p string) string {
+ if FilePathSeparator != p[len(p)-1:] {
+ p = p + FilePathSeparator
+ }
+ return p
}
+ dir := addSlash(os.TempDir())
+
if subPath != "" {
// preserve windows backslash :-(
if FilePathSeparator == "\\" {
@@ -456,16 +461,14 @@ func GetTempDir(subPath string, fs afero.Fs) string {
}
if exists, _ := Exists(dir, fs); exists {
- return dir
+ return addSlash(dir)
}
- err := fs.MkdirAll(dir, 0777) // rwx, rw, r
+ err := fs.MkdirAll(dir, 0777)
if err != nil {
panic(err)
}
- if FilePathSeparator != dir[len(dir)-1:] {
- dir = dir + FilePathSeparator
- }
+ dir = addSlash(dir)
}
return dir
}