X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=winboard%2Fwclipbrd.c;h=4d0fac9d11b92a67ae15d390896ef693c8b12fc5;hb=bb1c4f8ed2489e4891fe044532a35107d33174d2;hp=c0941e0b3b03a8b8fa2825112e40ecbb2d8954ca;hpb=91d8e5853ca580769cc130aa6ea004869118d171;p=xboard.git diff --git a/winboard/wclipbrd.c b/winboard/wclipbrd.c index c0941e0..4d0fac9 100644 --- a/winboard/wclipbrd.c +++ b/winboard/wclipbrd.c @@ -1,9 +1,10 @@ /* * wclipbrd.c -- Clipboard routines for WinBoard - * $Id: wclipbrd.c,v 2.1 2003/10/27 19:21:02 mann Exp $ * * Copyright 2000,2009 Free Software Foundation, Inc. * + * Enhancements Copyright 2005 Alessandro Scotti + * * ------------------------------------------------------------------------ * * GNU XBoard is free software: you can redistribute it and/or modify @@ -38,6 +39,7 @@ /* Imports from winboard.c */ extern HWND hwndMain; +Boolean ParseFEN(Board b, int *stm, char *FEN); /* File globals */ static char *copyTemp; @@ -48,7 +50,7 @@ CopyFENToClipboard() { char *fen = NULL; - fen = PositionToFEN(currentMove,1); + fen = PositionToFEN(currentMove, NULL); if (!fen) { DisplayError("Unable to convert position to FEN.", 0); return; @@ -198,7 +200,7 @@ CopyTextToClipboard(char *text) locked = !((err == NO_ERROR) || (err == ERROR_NOT_LOCKED)); if (appData.debugMode) { fprintf(debugFP, - "CopyTextToClipboard(): err %d locked %d\n", err, locked); + "CopyTextToClipboard(): err %d locked %d\n", (int)err, locked); } } if (locked) { @@ -291,18 +293,24 @@ PasteGameFromClipboard() VOID PasteGameOrFENFromClipboard() { char *buf; - char *tmp; +// char *tmp; + Board dummyBoard; int dummy; // [HGM] paste any if (!PasteTextFromClipboard(&buf)) { return; } +#if 0 tmp = buf; while( *tmp == ' ' || *tmp == '\t' || *tmp == '\r' || *tmp == '\n' ) { tmp++; } if( *tmp == '[' ) { +#else + // [HGM] paste any: make still smarter, to allow pasting of games without tags, recognize FEN in stead + if(!ParseFEN(dummyBoard, &dummy, buf) ) { +#endif PasteGameFromString( buf ); } else { @@ -368,7 +376,7 @@ PasteTextFromClipboard(char **text) locked = !((err == NO_ERROR) || (err == ERROR_NOT_LOCKED)); if (appData.debugMode) { fprintf(debugFP, - "PasteTextFromClipboard(): err %d locked %d\n", err, locked); + "PasteTextFromClipboard(): err %d locked %d\n", (int)err, locked); } } if (locked)