From 1285288b9ecda99e852c25d8abc7c91c50fc32ca Mon Sep 17 00:00:00 2001 From: Bradley Cicenas Date: Tue, 14 Mar 2017 22:49:11 +0000 Subject: [PATCH] add validation to sort field option --- main.go | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/main.go b/main.go index 44a0a0e..fbbab9e 100644 --- a/main.go +++ b/main.go @@ -47,13 +47,6 @@ func main() { os.Exit(0) } - // init ui - ui.ColorMap = ColorMap // override default colormap - if err := ui.Init(); err != nil { - panic(err) - } - defer ui.Close() - // override default config values with command line flags if *filterFlag != "" { config.Update("filterStr", *filterFlag) @@ -64,6 +57,7 @@ func main() { } if *sortFieldFlag != "" { + validSort(*sortFieldFlag) config.Update("sortField", *sortFieldFlag) } @@ -77,6 +71,13 @@ func main() { logging.StartServer() } + // init ui + ui.ColorMap = ColorMap // override default colormap + if err := ui.Init(); err != nil { + panic(err) + } + defer ui.Close() + // init grid, cursor, header cursor = NewGridCursor() cGrid = compact.NewCompactGrid() @@ -92,6 +93,14 @@ func main() { } } +// ensure a given sort field is valid +func validSort(s string) { + if _, ok := Sorters[s]; !ok { + fmt.Printf("invalid sort field: %s\n", s) + os.Exit(1) + } +} + func panicExit() { if r := recover(); r != nil { ui.Clear()