| 179 printw("Unknown move parser error."); |
179 printw("Unknown move parser error."); |
| 180 } |
180 } |
| 181 } |
181 } |
| 182 |
182 |
| 183 static void save_pgn(GameState *gamestate, GameInfo *gameinfo) { |
183 static void save_pgn(GameState *gamestate, GameInfo *gameinfo) { |
| 184 printw("Filename: "); |
184 bool export_comments = prompt_yesno("Export with comments"); |
| |
185 |
| |
186 printw("\rFilename: "); |
| 185 clrtoeol(); |
187 clrtoeol(); |
| 186 refresh(); |
188 refresh(); |
| 187 |
189 |
| 188 char filename[64]; |
190 char filename[64]; |
| 189 int y = getcury(stdscr); |
191 int y = getcury(stdscr); |
| 190 if (getnstr(filename, 64) == OK && filename[0] != '\0') { |
192 if (getnstr(filename, 64) == OK && filename[0] != '\0') { |
| 191 move(y, 0); |
193 move(y, 0); |
| 192 FILE *file = fopen(filename, "w"); |
194 FILE *file = fopen(filename, "w"); |
| 193 if (file) { |
195 if (file) { |
| 194 write_pgn(file, gamestate, gameinfo); |
196 write_pgn(file, gamestate, gameinfo, export_comments); |
| 195 fclose(file); |
197 fclose(file); |
| 196 printw("File saved."); |
198 printw("File saved."); |
| 197 } else { |
199 } else { |
| 198 printw("Can't write to file (%s).", strerror(errno)); |
200 printw("Can't write to file (%s).", strerror(errno)); |
| 199 } |
201 } |