worked on premove bug
[xboard.git] / winboard / wclipbrd.c
index 838d250..4d0fac9 100644 (file)
@@ -1,9 +1,10 @@
 /*\r
  * wclipbrd.c -- Clipboard routines for WinBoard\r
- * $Id: wclipbrd.c,v 2.1 2003/10/27 19:21:02 mann Exp $\r
  *\r
  * Copyright 2000,2009 Free Software Foundation, Inc.\r
  *\r
+ * Enhancements Copyright 2005 Alessandro Scotti\r
+ *\r
  * ------------------------------------------------------------------------\r
  *\r
  * GNU XBoard is free software: you can redistribute it and/or modify\r
@@ -38,6 +39,7 @@
 \r
 /* Imports from winboard.c */\r
 extern HWND hwndMain;\r
+Boolean ParseFEN(Board b, int *stm, char *FEN);\r
 \r
 /* File globals */\r
 static char *copyTemp;\r
@@ -48,7 +50,7 @@ CopyFENToClipboard()
 {\r
   char *fen = NULL;\r
 \r
-  fen = PositionToFEN(currentMove,1);\r
+  fen = PositionToFEN(currentMove, NULL);\r
   if (!fen) {\r
     DisplayError("Unable to convert position to FEN.", 0);\r
     return;\r
@@ -291,18 +293,24 @@ PasteGameFromClipboard()
 VOID PasteGameOrFENFromClipboard()\r
 {\r
   char *buf;\r
-  char *tmp;\r
+//  char *tmp;\r
+  Board dummyBoard; int dummy; // [HGM] paste any\r
 \r
   if (!PasteTextFromClipboard(&buf)) {\r
     return;\r
   }\r
 \r
+#if 0\r
   tmp = buf;\r
   while( *tmp == ' ' || *tmp == '\t' || *tmp == '\r' || *tmp == '\n' ) {\r
       tmp++;\r
   }\r
 \r
   if( *tmp == '[' ) {\r
+#else\r
+  // [HGM] paste any: make still smarter, to allow pasting of games without tags, recognize FEN in stead\r
+  if(!ParseFEN(dummyBoard, &dummy, buf) ) {\r
+#endif\r
       PasteGameFromString( buf );\r
   }\r
   else {\r