0
0
Fork 0

split stream opening into two functions

This way it is easier to open files for reading and writing.
This commit is contained in:
Gibheer 2015-01-19 12:13:13 +01:00
parent 1ff5d678a2
commit f74ed0fda2
1 changed files with 17 additions and 7 deletions

24
main.go
View File

@ -47,16 +47,26 @@ func open_output_stream(path string) (io.WriteCloser, error) {
switch path {
case "STDOUT": return os.Stdout, nil
case "STDERR": return os.Stderr, nil
default:
var err error
output_stream, err := os.OpenFile(path, os.O_WRONLY | os.O_CREATE | os.O_TRUNC, 0600)
if err != nil {
return nil, err
}
return output_stream, nil
default: return open_stream(path, os.O_WRONLY | os.O_CREATE | os.O_TRUNC)
}
}
func open_input_stream(path string) (io.ReadCloser, error) {
switch path {
case "STDIN": return os.Stdin, nil
default: return open_stream(path, os.O_RDONLY)
}
}
func open_stream(path string, flags int) (io.ReadWriteCloser, error) {
var err error
output_stream, err := os.OpenFile(path, flags, 0600)
if err != nil {
return nil, err
}
return output_stream, nil
}
// print the module help
func print_modules() {
fmt.Printf(`Usage: %s command args