Join name and version when in separate 'id' commands
authorH.G.Muller <hgm@hgm-xboard.(none)>
Sat, 21 May 2016 16:38:58 +0000 (18:38 +0200)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Sat, 21 May 2016 16:38:58 +0000 (18:38 +0200)
If an engine issues an "id version" command when an "id name" was already
received, a new 'myname' feature is emitted that contains both name and
version number. This is supposed to overrule the bare name in the myname
feature emitted because of the "id name" command.

UCI2WB.c

index ac6f788..145a96c 100644 (file)
--- a/UCI2WB.c
+++ b/UCI2WB.c
@@ -341,8 +341,9 @@ Engine2GUI()
            if(buf[0]) printf("%s", buf);\r
        }\r
        else if(!strcmp(command, "id")) {\r
-           char name[256];\r
+           static char name[256], version[256];\r
            if(sscanf(line, "id name %[^\n]", name) == 1) printf("feature myname=\"%s (U%cI2WB)\"\n", name, sc-32);\r
+           if(sscanf(line, "id version %[^\n]", version) == 1 && *name) printf("feature myname=\"%s %s (U%cI2WB)\"\n", name, version, sc-32);\r
        }\r
        else if(!strcmp(command, "readyok")) { pause = 0; Sync(WAKEUP); } // resume processing of GUI commands\r
        else if(sc == 'x'&& !strcmp(command, "ucciok") || sscanf(command, "u%ciok", &c)==1 && c==sc) {\r