Commit: ab6c0623990cf39ce90524582034744733e7377d Author: Vi Grey Date: 2023-08-09 03:10 UTC Summary: Open fsv file as read/write instead of readonly CHANGELOG.md | 9 +++++++++ src/fulla.go | 2 +- src/io.go | 7 ++++--- src/menus.go | 4 ++-- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 976e130..529fa57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,15 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +## [0.0.3] - 2023-08-08 + +### Fixed + +- FSV files open as Read/Write +- panic when trying to open nonfile +- return error when path is directory + + ## [0.0.2] - 2023-08-03 ### Added diff --git a/src/fulla.go b/src/fulla.go index 1dc5b1b..3289676 100644 --- a/src/fulla.go +++ b/src/fulla.go @@ -7,7 +7,7 @@ import ( ) const ( - FULLA_VERSION = "0.0.2" + FULLA_VERSION = "0.0.3" ) var ( diff --git a/src/io.go b/src/io.go index 47b148a..a051465 100644 --- a/src/io.go +++ b/src/io.go @@ -92,15 +92,16 @@ func promptReadWriteFile(prompt string) (f *os.File, cancel bool) { return } -func readFile(fPath string) (f *os.File, err error) { +func openFile(fPath string) (f *os.File, err error) { p := resolveHome(fPath) var fileInfo os.FileInfo if fileInfo, err = os.Stat(p); err != nil { fmt.Printf(" Unable to read file \"%s\"\n", p) } else if fileInfo.IsDir() { fmt.Printf(" Unable to read file \"%s\" (path is a directory)\n", p) + err = errors.New("Path is not a file") } else { - f, err = os.OpenFile(p, os.O_RDONLY, 0644) + f, err = os.OpenFile(p, os.O_RDWR, 0644) if err != nil { if errors.Is(err, os.ErrNotExist) { // File does not exist @@ -125,7 +126,7 @@ func promptReadFile(prompt string) (f *os.File, cancel bool) { return } var err error - f, err = readFile(fPath) + f, err = openFile(fPath) if err == nil { break } diff --git a/src/menus.go b/src/menus.go index 9dbe08c..6e0afd3 100644 --- a/src/menus.go +++ b/src/menus.go @@ -80,7 +80,7 @@ func openFileMenu(fPath string) { } } else { var err error - fsvFile, err = readFile(fPath) + fsvFile, err = openFile(fPath) if err != nil { return } @@ -89,7 +89,7 @@ func openFileMenu(fPath string) { defer fsvFile.Close() hashData, cipherData, ciphertext, compressionAlg, err := parseFSVFile(fsvFile) if err != nil { - fmt.Printf(" Unable to Parse File %s\n", fsvFile.Name()) + fmt.Println(" Unable to Parse File.") return } var fsvData FSVData