]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blobdiff - vendor/github.com/posener/complete/cmd/install/utils.go
Upgrade to 0.12
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / posener / complete / cmd / install / utils.go
index 2c8b44cabae4f1988f5b2e5392c18f166673396a..d34ac8cae8b761aafb94e786ce33885549d602e2 100644 (file)
@@ -6,6 +6,7 @@ import (
        "io"
        "io/ioutil"
        "os"
+       "path/filepath"
 )
 
 func lineInFile(name string, lookFor string) bool {
@@ -36,6 +37,24 @@ func lineInFile(name string, lookFor string) bool {
        }
 }
 
+func createFile(name string, content string) error {
+       // make sure file directory exists
+       if err := os.MkdirAll(filepath.Dir(name), 0775); err != nil {
+               return err
+       }
+
+       // create the file
+       f, err := os.Create(name)
+       if err != nil {
+               return err
+       }
+       defer f.Close()
+
+       // write file content
+       _, err = f.WriteString(fmt.Sprintf("%s\n", content))
+       return err
+}
+
 func appendToFile(name string, content string) error {
        f, err := os.OpenFile(name, os.O_RDWR|os.O_APPEND, 0)
        if err != nil {
@@ -96,7 +115,10 @@ func removeContentToTempFile(name, content string) (string, error) {
                if str == content {
                        continue
                }
-               wf.WriteString(str + "\n")
+               _, err = wf.WriteString(str + "\n")
+               if err != nil {
+                       return "", err
+               }
                prefix = prefix[:0]
        }
        return wf.Name(), nil