X-Git-Url: http://winboard.nl/cgi-bin?p=xboard.git;a=blobdiff_plain;f=uci.c;h=d0f76c4afcd67f30dfedef21bc051733bebf0ad6;hp=fdf7e6c412cf0f716658250f55701641001c8bee;hb=d016fb202fe45795e630e22ba516e754cf694ea6;hpb=29df666d997ad990de5376c962b154b26eb73f2f diff --git a/uci.c b/uci.c index fdf7e6c..d0f76c4 100644 --- a/uci.c +++ b/uci.c @@ -3,33 +3,43 @@ * * Author: Alessandro Scotti (Jan 2006) * + * Copyright 2006 Alessandro Scotti + * * ------------------------------------------------------------------------ - * This program is free software; you can redistribute it and/or modify + * + * GNU XBoard is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU XBoard is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * along with this program. If not, see http://www.gnu.org/licenses/. + * * ------------------------------------------------------------------------ */ -#include "config.h" - -#include /* required for all Windows applications */ - #include #include -#include + +#if HAVE_MALLOC_H + #include +#endif + +#ifdef WIN32 +// [HGM] this was probably a Windows-specific constant. Needs to be defined here now I +// threw out the Windows-specific includes (winboard.h etc.). 100 seems enough. +#include +#define SLASH_CHAR "\\" +#else +#define MAX_PATH 100 +#define SLASH_CHAR "/" +#endif #include "common.h" -#include "winboard.h" -#include "frontend.h" #include "backend.h" #define INIFILE_PREFIX "polyglot_" @@ -37,6 +47,7 @@ #define INIFILE_SUFFIX_2ND "2nd" #define INIFILE_EXT ".ini" + static const char * GetIniFilename( ChessProgramState * cps ) { return cps == &first ? INIFILE_PREFIX INIFILE_SUFFIX_1ST INIFILE_EXT : INIFILE_PREFIX INIFILE_SUFFIX_2ND INIFILE_EXT; @@ -52,16 +63,21 @@ void InitEngineUCI( const char * iniDir, ChessProgramState * cps ) /* Build name of initialization file */ if( strchr( iniDir, ' ' ) != NULL ) { char iniDirShort[ MAX_PATH ]; - +#ifdef WIN32 GetShortPathName( iniDir, iniDirShort, sizeof(iniDirShort) ); strcpy( polyglotIniFile, iniDirShort ); +#else + // [HGM] UCI: not sure if this works, but GetShortPathName seems Windows pecific + // and names with spaces in it do not work in xboard in many places, so ignore + strcpy( polyglotIniFile, iniDir ); +#endif } else { strcpy( polyglotIniFile, iniDir ); } - - strcat( polyglotIniFile, "\\" ); + + strcat( polyglotIniFile, SLASH_CHAR ); strcat( polyglotIniFile, iniFileName ); /* Create initialization file */ @@ -80,7 +96,7 @@ void InitEngineUCI( const char * iniDir, ChessProgramState * cps ) fprintf( f, "Book = %s\n", appData.usePolyglotBook ? "true" : "false" ); fprintf( f, "BookFile = %s\n", appData.polyglotBook ); - + fprintf( f, "[Engine]\n" ); fprintf( f, "Hash = %d\n", appData.defaultHashSize );