diff options
Diffstat (limited to 'backend/parser')
| -rw-r--r-- | backend/parser/parser.go | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/backend/parser/parser.go b/backend/parser/parser.go index 040b94a..562b8c0 100644 --- a/backend/parser/parser.go +++ b/backend/parser/parser.go | |||
| @@ -3,15 +3,17 @@ package parser | |||
| 3 | import ( | 3 | import ( |
| 4 | "bufio" | 4 | "bufio" |
| 5 | "fmt" | 5 | "fmt" |
| 6 | "log" | ||
| 6 | "os/exec" | 7 | "os/exec" |
| 7 | "strconv" | 8 | "strconv" |
| 8 | "strings" | 9 | "strings" |
| 9 | ) | 10 | ) |
| 10 | 11 | ||
| 11 | func ProcessDemo(demoPath string) (int, int, error) { | 12 | func ProcessDemo(demoPath string) (int, int, error) { |
| 12 | cmd := exec.Command("bash", "-c", fmt.Sprintf(`echo "FEXBash" && ./parser %s`, demoPath)) | 13 | cmd := exec.Command("bash", "-c", fmt.Sprintf(`echo "FEXBash" && ./backend/parser/parser %s`, demoPath)) |
| 13 | stdout, err := cmd.StdoutPipe() | 14 | stdout, err := cmd.StdoutPipe() |
| 14 | if err != nil { | 15 | if err != nil { |
| 16 | log.Println(err) | ||
| 15 | return 0, 0, err | 17 | return 0, 0, err |
| 16 | } | 18 | } |
| 17 | cmd.Start() | 19 | cmd.Start() |
| @@ -34,9 +36,8 @@ func ProcessDemo(demoPath string) (int, int, error) { | |||
| 34 | } | 36 | } |
| 35 | } | 37 | } |
| 36 | } | 38 | } |
| 37 | err = cmd.Wait() | 39 | cmd.Wait() |
| 38 | if err != nil { | 40 | // We don't check for error in wait, since FEXBash always gives segmentation fault |
| 39 | return 0, 0, err | 41 | // Wanted output is retrieved, so it's okay (i think) |
| 40 | } | 42 | return portalCount, cmTicks, nil |
| 41 | return cmTicks, portalCount, nil | ||
| 42 | } | 43 | } |