// constants\r
\r
\r
-static const char * const Version = "1.4W10UCIb15";\r
+static const char * const Version = "1.4W10UCIb16";\r
static const char * const HelpMessage = "\\r
SYNTAX\n\\r
polyglot [configfile]\n\\r
return EXIT_SUCCESS;\r
}\r
\r
+ if (argc >= 3 && my_string_equal(argv[1],"-ec")) {\r
+ option_set("EngineCommand",argv[2]);\r
+ Init=true;\r
+ engine_open(Engine);\r
+ gui_init(GUI);\r
+ uci_open(Uci,Engine);\r
+ if (my_string_equal(option_get_string("EngineName"),"<empty>")) {\r
+ option_set("EngineName",Uci->name);\r
+ }\r
+ adapter_loop();\r
+ return EXIT_SUCCESS; // we don't get here\r
+ }\r
+\r
// read options\r
\r
if (argc == 2) option_set("OptionFile",argv[1]); // HACK for compatibility\r
return EXIT_SUCCESS; // we never get here....\r
}\r
\r
+// polyglot_set_option\r
+\r
+void polyglot_set_option(char *name, char *value){ // this must be cleaned up!\r
+ option_set(name,value);\r
+ if(option_get_bool("Book")&&(my_string_case_equal(name,"BookFile")||my_string_case_equal(name,"Book"))){\r
+ my_log("POLYGLOT *** SETTING BOOK ***\n");\r
+ my_log("POLYGLOT BOOK \"%s\"\n",option_get_string("BookFile"));\r
+ book_close();\r
+ book_clear();\r
+ book_open(option_get_string("BookFile"));\r
+ if(!book_is_open()){\r
+ my_log("POLYGLOT Unable to open book \"%s\"\n",option_get_string("BookFile"));\r
+ }\r
+ }else if(option_get_bool("Log")&&(my_string_case_equal(name,"LogFile") ||my_string_case_equal(name,"Log"))){\r
+ my_log("POLYGLOT *** SETTING LOGFILE ***\n");\r
+ my_log("POLYGLOT LOGFILE \"%s\"\n",option_get_string("LogFile"));\r
+ my_log_close();\r
+ my_log_open(option_get_string("LogFile"));\r
+ }else if(option_get_bool("UseNice") &&(my_string_case_equal(name,"NiceValue")||my_string_case_equal(name,"UseNice"))){\r
+ my_log("POLYGLOT Adjust Engine Piority\n");\r
+ engine_set_nice_value(Engine,atoi(option_get_string("NiceValue")));\r
+ }else if(my_string_case_equal(name,"Book") && !option_get_bool("Book")){\r
+ book_close();\r
+ book_clear();\r
+ }else if(my_string_case_equal(name,"UseNice") && !option_get_bool("UseNice")){\r
+ my_log("POLYGLOT Adjust Engine Piority\n");\r
+ engine_set_nice_value(Engine,0);\r
+ }else if(my_string_case_equal(name,"Log") && !option_get_bool("Log")){\r
+ my_log("POLYGLOT QUIT LOGGING\n");\r
+ my_log_close();\r
+ }\r
+}\r
+\r
+\r
// init_book()\r
\r
static void init_book(){\r
+ const char *empty_var[]={};\r
book_clear();\r
if (option_get_bool("Book")){\r
my_log("POLYGLOT *** SETTING BOOK ***\n");\r
my_log("POLYGLOT BOOK \"%s\"\n",option_get_string("BookFile"));\r
- uci_set_option(Uci,\r
- PolyglotBookFile, // name\r
- option_get_string("BookFile"), // value\r
- "string", // type\r
- "<empty>", // max\r
- "<empty>", // min\r
- "<empty>" // var\r
- );\r
book_open(option_get_string("BookFile"));\r
if(!book_is_open()){\r
my_log("POLYGLOT Unable to open book \"%s\"\n",\r
option_get_string("BookFile"));\r
}\r
- } else {\r
- uci_set_option(Uci,\r
- PolyglotBookFile, // name\r
- "<empty>", // value\r
- "string", // type\r
- "<empty>", // max\r
- "<empty>", // min\r
- "<empty>" // var\r
- );\r
- \r
}\r
}\r
\r
\r
if (my_string_case_equal(line,"[engine]")) break;\r
\r
- if (parse_line(line,&name,&value)) option_set(name,value);\r
+ if (parse_line(line,&name,&value)) {\r
+ option_set(name,value);\r
+ option_set_default(name,value);\r
+ }\r
}\r
\r
if (option_get_bool("Log")) {\r
Init = true;\r
uci_open(Uci,Engine);\r
while (my_file_read_line(file,line,256)) {\r
- \r
if (line[0] == '[') my_fatal("parse_option(): unknown section %s\n",line);\r
+ if (line[0]=='#') continue;\r
\r
if (parse_line(line,&name,&value)) {\r
uci_send_option(Uci,name,"%s",value);\r
if (my_string_equal(option_get_string("EngineName"),"<empty>")) {\r
option_set("EngineName",Uci->name);\r
}\r
+\r
fclose(file);\r
}\r
\r
engine_get(Engine,string,StringSize); // HACK: calls exit() on receiving EOF\r
}\r
}\r
+ exit(EXIT_SUCCESS);\r
}\r
\r
// stop_search()\r