diff options
| author | Michael Strùˆder <mikezter@gmail.com> | 2017-04-29 16:31:31 +0200 |
|---|---|---|
| committer | Grant Ammons <gammons@gmail.com> | 2017-05-09 20:20:24 -0400 |
| commit | ed6ab22cbdbc475adf539637e45a67811ec0c15a (patch) | |
| tree | 7ffd40d2b716ffa9d85bbbcbcf8242b4c8c4a847 /todolist/parser.go | |
| parent | aa5050461a30d36a384edd45d20585a89d3da344 (diff) | |
display an error on malformed input
Diffstat (limited to 'todolist/parser.go')
| -rw-r--r-- | todolist/parser.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/todolist/parser.go b/todolist/parser.go index d55ab3b..38bdb7f 100644 --- a/todolist/parser.go +++ b/todolist/parser.go @@ -34,10 +34,14 @@ func (p Parser) Parse() (string, int, string) { input := p.input r := regexp.MustCompile(`(\w+) (\d+) (.*)`) matches := r.FindStringSubmatch(input) + if len(matches) < 4 { + fmt.Println("Could match command, id or subject") + return "", -1, input + } id, err := strconv.Atoi(matches[2]) if err != nil { fmt.Println("Invalid id.") - id = -1 + return "", -1, input } return matches[1], id, matches[3] |
