X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=args.h;h=0b021acf1cec4e7287b2daddad6b7af02b2d7176;hb=8f1501373295f172dd1118391c6ee914ecbc4e67;hp=a916780dc0ba883ebb46d4a9cae4af18a4ed994b;hpb=d13479fa8f80542d1fef82b56c87c8f68573bfba;p=xboard.git diff --git a/args.h b/args.h index a916780..0b021ac 100644 --- a/args.h +++ b/args.h @@ -529,6 +529,7 @@ ArgDescriptor argDescriptors[] = { { "secondHasOwnBookUCI", ArgBoolean, (void *) &appData.secondHasOwnBookUCI, FALSE, (ArgIniType) TRUE }, { "sNoOwnBookUCI", ArgFalse, (void *) &appData.secondHasOwnBookUCI, FALSE, INVALID }, { "secondXBook", ArgFalse, (void *) &appData.secondHasOwnBookUCI, FALSE, INVALID }, + { "adapterCommand", ArgFilename, (void *) &appData.adapterCommand, TRUE, (ArgIniType) "polyglot -noini -ec %%cp -ed %%d" }, { "polyglotDir", ArgFilename, (void *) &appData.polyglotDir, TRUE, (ArgIniType) "" }, { "usePolyglotBook", ArgBoolean, (void *) &appData.usePolyglotBook, TRUE, (ArgIniType) FALSE }, { "polyglotBook", ArgFilename, (void *) &appData.polyglotBook, TRUE, (ArgIniType) "" }, @@ -1335,3 +1336,31 @@ SaveSettings(char* name) } fclose(f); } + +Boolean +GetArgValue(char *name) +{ // retrieve (as text) current value of string or int argument given by name + // (this is used for maing the values available in the adapter command) + ArgDescriptor *ad; + + for (ad = argDescriptors; ad->argName != NULL; ad++) + if (strcmp(ad->argName, name) == 0) break; + + if (ad->argName == NULL) return FALSE; + + switch(ad->argType) { + case ArgString: + case ArgFilename: + strcpy(name, *(char**) ad->argLoc); + return TRUE; + case ArgInt: + sprintf(name, "%d", *(int*) ad->argLoc); + return TRUE; + case ArgBoolean: + sprintf(name, "%s", *(Boolean*) ad->argLoc ? "true" : "false"); + return TRUE; + default: ; + } + + return FALSE; +}