src/chess/pgn.c

changeset 102
463c648e6a9b
parent 101
d4f19182fdc2
child 106
bdc9528d3e2b
equal deleted inserted replaced
101:d4f19182fdc2 102:463c648e6a9b
175 } 175 }
176 176
177 return 0; 177 return 0;
178 } 178 }
179 179
180 size_t write_pgn(FILE* stream, GameState *gamestate, GameInfo *gameinfo) { 180 void write_pgn(FILE* stream, GameState *gamestate, GameInfo *gameinfo) {
181 // TODO: tag pairs 181 // TODO: tag pairs
182 size_t bytes = 0; 182
183
184 /* Result */ 183 /* Result */
185 char *result; 184 char *result;
186 if (gamestate->stalemate || gamestate->remis) { 185 if (gamestate->stalemate || gamestate->remis) {
187 result = "1/2-1/2"; 186 result = "1/2-1/2";
188 } else if (gamestate->checkmate || gamestate->resign) { 187 } else if (gamestate->checkmate || gamestate->resign) {
226 if (result[0] == '*') { 225 if (result[0] == '*') {
227 fputc('\n', stream); 226 fputc('\n', stream);
228 } else { 227 } else {
229 fprintf(stream, "%s\n", result); 228 fprintf(stream, "%s\n", result);
230 } 229 }
231
232
233 return bytes;
234 } 230 }
235 231
236 static size_t fen_pieces(char *str, GameState *gamestate) { 232 static size_t fen_pieces(char *str, GameState *gamestate) {
237 size_t i = 0; 233 size_t i = 0;
238 for (int row = 7 ; row >= 0 ; row--) { 234 for (int row = 7 ; row >= 0 ; row--) {

mercurial