andersfylling / andersfylling/uci

Incorrect parsing when specifying multiple subcommands

Offen
#1 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C++
Sterne
3
Forks
1
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

When parsing the UCI command `go wtime 8153 btime 8080 winc 80 binc 80`, the output is `{"wtime": "8153 btime 8080 winc 80 binc 80"}`, instead of `{"binc": "80", "btime": "8080", "winc": "80", "wtime": "8153"}`.

Looking at [`Parser.cpp`](https://github.com/andersfylling/uci/blob/master/uci_code/src/Parser.cpp), we see that the parser doesn't support multiple subcommands, since it doesn't exit the `while (request >> nextWord)` loop until the entire line has been exhausted.

This is not caught by the unit tests, since it never tests the case of multiple subcommands, however this is a necessary feature for compatibility with UCI GUIs.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.