diff -ur Phalanx-XXII/io.c Phalanx-XXII-scid/io.c --- Phalanx-XXII/io.c 2005-10-03 00:29:22.000000000 +0200 +++ Phalanx-XXII-scid/io.c 2008-02-03 12:07:09.000000000 +0100 @@ -984,11 +984,11 @@ if( Inp[0] == '\0' ) if( fgets(Inp,255,stdin) == NULL ) strcpy(Inp,"quit\n"); - if( strncmp(Inp,"exit\n",5) == 0 && Flag.analyze ) + if( strncmp(Inp,"exit",4) == 0 && Flag.analyze ) { Flag.machine_color = Flag.analyze = 0; Inp[0]='\0'; return 1; } - if( strncmp(Inp,"quit\n",5) == 0 - || strncmp(Inp,"exit\n",5) == 0 ) + if( strncmp(Inp,"quit",4) == 0 + || strncmp(Inp,"exit",4) == 0 ) { if( Flag.ponder < 2 ) return 0; else @@ -1007,7 +1007,7 @@ } /* COMMAND: analyze */ - if( strncmp( Inp, "analyze\n", 8 ) == 0 ) + if( strncmp( Inp, "analyze", 7 ) == 0 ) { if( Flag.ponder >= 2 ) { Abort = 1; return 0; } puts("analyze mode, type 'exit' to terminate"); @@ -1017,7 +1017,7 @@ } /* COMMAND: force */ - if( strncmp( Inp, "force\n", 6 ) == 0 ) + if( strncmp( Inp, "force", 5 ) == 0 ) { if( Flag.ponder >= 2 ) { Abort = 1; return 0; } puts("you play both"); @@ -1027,8 +1027,8 @@ } /* COMMANDS: white, black */ - if( strncmp( Inp, "white\n", 6 ) == 0 - || strncmp( Inp, "black\n", 6 ) == 0 ) + if( strncmp( Inp, "white", 5 ) == 0 + || strncmp( Inp, "black", 5 ) == 0 ) { if( Flag.ponder >= 2 ) { Abort = 1; return 0; } puts("you do not play both"); @@ -1038,7 +1038,7 @@ } /* COMMAND: both */ - if( strncmp( Inp, "both\n", 5 ) == 0 ) + if( strncmp( Inp, "both", 4 ) == 0 ) { if( Flag.ponder >= 2 ) { Abort = 1; return 0; } puts("machine plays both"); @@ -1047,7 +1047,7 @@ } /* COMMAND: new */ - if( strncmp( Inp, "new\n", 4 ) == 0 ) + if( strncmp( Inp, "new", 3 ) == 0 ) { if( Flag.ponder >= 2 ) { Abort = 1; return 0; } setfen("rnbqkbnr/pppppppp/////PPPPPPPP/RNBQKBNR/w"); @@ -1062,7 +1062,7 @@ } /* COMMAND: go */ - if( strncmp( Inp, "go\n", 3 ) == 0 ) + if( strncmp( Inp, "go", 2 ) == 0 ) { if( Flag.ponder >= 2 ) { Abort = 1; return 0; } Flag.machine_color = Color; @@ -1070,11 +1070,11 @@ } /* COMMAND: bd */ - if( strncmp( Inp, "bd\n", 3 ) == 0 || strncmp( Inp, "d\n", 2 ) == 0 ) + if( strncmp( Inp, "bd", 2 ) == 0 || strncmp( Inp, "d\n", 2 ) == 0 ) { printboard(NULL); Inp[0]='\0'; return 1; } /* COMMAND: bk */ - if( strncmp( Inp, "bk\n", 3 ) == 0 ) + if( strncmp( Inp, "bk", 2 ) == 0 ) { tmove m[256]; int n; extern void bk(tmove *, int ); @@ -1086,7 +1086,7 @@ } /* COMMAND: post */ - if( strncmp( Inp, "post\n", 5 ) == 0 ) + if( strncmp( Inp, "post", 4 ) == 0 ) { Flag.post = 1; puts("post on"); @@ -1094,7 +1094,7 @@ } /* COMMAND: nopost */ - if( strncmp( Inp, "nopost\n", 7 ) == 0 ) + if( strncmp( Inp, "nopost", 6 ) == 0 ) { Flag.post = 0; puts("post off"); @@ -1139,7 +1139,7 @@ /* COMMAND: hard */ - if( strncmp( Inp, "hard\n", 5 ) == 0 ) + if( strncmp( Inp, "hard", 4 ) == 0 ) { if( Flag.ponder==0 && Flag.easy==0 ) Flag.ponder = 1; @@ -1148,7 +1148,7 @@ } /* COMMAND: easy */ - if( strncmp( Inp, "easy\n", 5 ) == 0 ) + if( strncmp( Inp, "easy", 4 ) == 0 ) { if( Flag.ponder != 0 ) { @@ -1189,7 +1189,7 @@ } /* COMMAND: book */ - if( strncmp( Inp, "book\n", 5 ) == 0 ) + if( strncmp( Inp, "book", 4 ) == 0 ) { Flag.book = ! Flag.book; if( Flag.book ) puts("book on"); @@ -1198,15 +1198,15 @@ } /* COMMAND: about */ - if( strncmp( Inp, "about\n", 6 ) == 0 ) + if( strncmp( Inp, "about", 5 ) == 0 ) { about(); Inp[0]='\0'; return 1; } /* COMMAND: fen */ - if( strncmp( Inp, "fen\n", 3 ) == 0 ) + if( strncmp( Inp, "fen", 3 ) == 0 ) { printpositionfen(); Inp[0]='\0'; return 1; } /* COMMAND: help */ - if( strncmp( Inp, "help\n", 5 ) == 0 ) + if( strncmp( Inp, "help", 4 ) == 0 ) { puts("COMMAND SUMMARY: about (shows settings), bd (displays position - same"); puts("as 'd'), bk (shows book info), book (enables/disables book), both"); @@ -1240,7 +1240,7 @@ } /* COMMAND: xboard */ - if( strncmp( Inp, "xboard\n", 7 ) == 0 ) + if( strncmp( Inp, "xboard", 6 ) == 0 ) { Flag.xboard = 2; puts("xboard mode on"); @@ -1267,7 +1267,7 @@ } /* COMMAND: undo (xboard) */ - if( strncmp( Inp, "undo\n", 5 ) == 0 || strncmp( Inp, "u\n", 2 ) == 0 ) + if( strncmp( Inp, "undo", 4 ) == 0 || strncmp( Inp, "u\n", 2 ) == 0 ) { if( Flag.ponder >= 2 ) { Abort = 1; return 0; } if( Counter != 0 ) @@ -1283,7 +1283,7 @@ } /* COMMAND: remove (xboard) */ - if( strncmp( Inp, "remove\n", 7 ) == 0 ) + if( strncmp( Inp, "remove", 6 ) == 0 ) { if( Flag.ponder >= 2 ) { Abort = 1; return 0; } if( Counter > 1 ) @@ -1309,6 +1309,15 @@ return 1; } +/* COMMAND: setboard */ +/* added by Pascal Georges */ + if( strncmp( Inp, "setboard ", 9 ) == 0 ) + { + setfen(Inp+9); + Inp[0] = '\0'; + return 1; + } + /* COMMAND: test a position */ if( sevenslashes(Inp) ) /* test */ { diff -ur Phalanx-XXII/phalanx.h Phalanx-XXII-scid/phalanx.h --- Phalanx-XXII/phalanx.h 2005-10-03 00:41:14.000000000 +0200 +++ Phalanx-XXII-scid/phalanx.h 2008-07-14 10:45:41.000000000 +0200 @@ -1,7 +1,7 @@ #ifndef PHALANX_INCLUDED #define PHALANX_INCLUDED -#define VERSION "XXII" +#define VERSION "XXII-pg" #ifdef GNUFUN # include diff -ur Phalanx-XXII/README Phalanx-XXII-scid/README --- Phalanx-XXII/README 2005-09-21 02:38:39.000000000 +0200 +++ Phalanx-XXII-scid/README 2008-02-03 12:07:09.000000000 +0100 @@ -1,2 +1,6 @@ +********************************************************* +[December 2006 : added setboard option - Pascal Georges ] +********************************************************* + Phalanx is a chess playing program Copyright (c) 1997, 1998, 1999, 2000 Dusan Dobes