andersfylling / andersfylling/uci

Incorrect parsing when specifying multiple subcommands

Aperta
#1 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C++
Stelle
3
Fork
1
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.