*
* Copyright 2006 Alessandro Scotti
*
+ * Enhancement Copyright 2009, 2010, 2011, 2012, 2013, 2014, 2015,
+ * 2016 Free Software Foundation, Inc.
+ *
* ------------------------------------------------------------------------
*
* GNU XBoard is free software: you can redistribute it and/or modify
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program. If not, see http://www.gnu.org/licenses/.
+ * along with this program. If not, see http://www.gnu.org/licenses/.
*
* ------------------------------------------------------------------------
*/
#include <stdio.h>
+#include <ctype.h>
#include <stdlib.h>
#include <string.h>
-#if HAVE_MALLOC_H
- #include <malloc.h>
-#endif
-
#include "common.h"
#include "backend.h"
-Boolean GetArgValue(char *a);
+Boolean GetArgValue(char *a);
-void InitEngineUCI( const char * iniDir, ChessProgramState * cps )
+void
+InitEngineUCI (const char *iniDir, ChessProgramState *cps)
{ // replace engine command line by adapter command with expanded meta-symbols
if( cps->isUCI ) {
char *p, *q;
char polyglotCommand[MSG_SIZ];
+ if(cps->isUCI == 2) p = appData.ucciAdapter; else
p = appData.adapterCommand;
q = polyglotCommand;
while(*p) {
*s++ = cps == &first ? 'f' : 's';
p++;
}
- while(*p >= '0' && *p) *s++ = *p++; // copy option name
+ while(isdigit(*p) || isalpha(*p)) *s++ = *p++; // copy option name
*s = NULLCHAR;
if(cps == &second) { // change options for first into those for second engine
if(strstr(buf, "first") == buf) sprintf(argName, "second%s", buf+5); else