diff -r 98adda6171d1 -r 2c8514b3891b test/gs/bigtest.html
--- a/test/gs/bigtest.html Sun Mar 02 12:47:31 2025 +0100
+++ b/test/gs/bigtest.html Sun Mar 02 16:06:24 2025 +0100
@@ -33,6 +33,9 @@
span.c2html-string {
color: darkorange;
}
+ span.c2html-number {
+ color: dodgerblue;
+ }
span.c2html-comment {
color: grey;
}
@@ -98,15 +101,15 @@
45 }
46
47 void gamestate_init(GameState *gamestate) {
- 48 memset(gamestate, 0, sizeof(GameState));
+ 48 memset(gamestate, 0, sizeof(GameState));
49
50 Board initboard = {
51 {WROOK, WKNIGHT, WBISHOP, WQUEEN, WKING, WBISHOP, WKNIGHT, WROOK},
52 {WPAWN, WPAWN, WPAWN, WPAWN, WPAWN, WPAWN, WPAWN, WPAWN},
- 53 {0, 0, 0, 0, 0, 0, 0, 0},
- 54 {0, 0, 0, 0, 0, 0, 0, 0},
- 55 {0, 0, 0, 0, 0, 0, 0, 0},
- 56 {0, 0, 0, 0, 0, 0, 0, 0},
+ 53 {0, 0, 0, 0, 0, 0, 0, 0},
+ 54 {0, 0, 0, 0, 0, 0, 0, 0},
+ 55 {0, 0, 0, 0, 0, 0, 0, 0},
+ 56 {0, 0, 0, 0, 0, 0, 0, 0},
57 {BPAWN, BPAWN, BPAWN, BPAWN, BPAWN, BPAWN, BPAWN, BPAWN},
58 {BROOK, BKNIGHT, BBISHOP, BQUEEN, BKING, BBISHOP, BKNIGHT, BROOK}
59 };
@@ -128,21 +131,21 @@
75 char *string = move->string;
76
77
- 78 memset(string, 0, 8);
+ 78 memset(string, 0, 8);
79
80
81 if ((move->piece&PIECE_MASK) == KING &&
- 82 abs(move->tofile-move->fromfile) == 2) {
+ 82 abs(move->tofile-move->fromfile) == 2) {
83 if (move->tofile==fileidx('c')) {
- 84 memcpy(string, "O-O-O", 5);
+ 84 memcpy(string, "O-O-O", 5);
85 } else {
- 86 memcpy(string, "O-O", 3);
+ 86 memcpy(string, "O-O", 3);
87 }
88 }
89
90
- 91 string[0] = getpiecechr(move->piece);
- 92 int idx = string[0] ? 1 : 0;
+ 91 string[0] = getpiecechr(move->piece);
+ 92 int idx = string[0] ? 1 : 0;
93
94
95 uint8_t piece = move->piece & PIECE_MASK;
@@ -151,13 +154,13 @@
98 string[idx++] = filechr(move->fromfile);
99 }
100 } else if (piece != KING) {
-101 Move threats[16];
+101 Move threats[16];
102 uint8_t threatcount;
103 get_real_threats(gamestate, move->torow, move->tofile,
104 move->piece&COLOR_MASK, threats, &threatcount);
-105 if (threatcount > 1) {
-106 int ambrows = 0, ambfiles = 0;
-107 for (uint8_t i = 0 ; i < threatcount ; i++) {
+105 if (threatcount > 1) {
+106 int ambrows = 0, ambfiles = 0;
+107 for (uint8_t i = 0 ; i < threatcount ; i++) {
108 if (threats[i].fromrow == move->fromrow) {
109 ambrows++;
110 }
@@ -166,11 +169,11 @@
113 }
114 }
115
-116 if (ambrows > 1) {
+116 if (ambrows > 1) {
117 string[idx++] = filechr(move->fromfile);
118 }
119
-120 if (ambfiles > 1) {
+120 if (ambfiles > 1) {
121 string[idx++] = filechr(move->fromrow);
122 }
123 }
@@ -213,7 +216,7 @@
160 uint64_t sec = curtimestamp.tv_sec - lasttstamp->tv_sec;
161 suseconds_t micros;
162 if (curtimestamp.tv_usec < lasttstamp->tv_usec) {
-163 micros = 1e6L-(lasttstamp->tv_usec - curtimestamp.tv_usec);
+163 micros = 1e6L-(lasttstamp->tv_usec - curtimestamp.tv_usec);
164 sec--;
165 } else {
166 micros = curtimestamp.tv_usec - lasttstamp->tv_usec;
@@ -225,8 +228,8 @@
172 gamestate->lastmove->next = elem;
173 gamestate->lastmove = elem;
174 } else {
-175 elem->move.movetime.tv_usec = 0;
-176 elem->move.movetime.tv_sec = 0;
+175 elem->move.movetime.tv_usec = 0;
+176 elem->move.movetime.tv_sec = 0;
177 gamestate->movelist = gamestate->lastmove = elem;
178 }
179 }
@@ -249,7 +252,7 @@
196 case 'B': return BISHOP;
197 case 'Q': return QUEEN;
198 case 'K': return KING;
-199 default: return 0;
+199 default: return 0;
200 }
201 }
202
@@ -259,25 +262,25 @@
206
207
208 if (move->capture && piece == PAWN &&
-209 mdst(gamestate->board, move) == 0) {
-210 gamestate->board[move->fromrow][move->tofile] = 0;
+209 mdst(gamestate->board, move) == 0) {
+210 gamestate->board[move->fromrow][move->tofile] = 0;
211 }
212
213
-214 for (uint8_t file = 0 ; file < 8 ; file++) {
-215 gamestate->board[3][file] &= ~ENPASSANT_THREAT;
-216 gamestate->board[4][file] &= ~ENPASSANT_THREAT;
+214 for (uint8_t file = 0 ; file < 8 ; file++) {
+215 gamestate->board[3][file] &= ~ENPASSANT_THREAT;
+216 gamestate->board[4][file] &= ~ENPASSANT_THREAT;
217 }
218
219
220 if (piece == PAWN && (
-221 (move->fromrow == 1 && move->torow == 3) ||
-222 (move->fromrow == 6 && move->torow == 4))) {
+221 (move->fromrow == 1 && move->torow == 3) ||
+222 (move->fromrow == 6 && move->torow == 4))) {
223 move->piece |= ENPASSANT_THREAT;
224 }
225
226
-227 msrc(gamestate->board, move) = 0;
+227 msrc(gamestate->board, move) = 0;
228 if (move->promotion) {
229 mdst(gamestate->board, move) = move->promotion;
230 } else {
@@ -288,16 +291,16 @@
235 if (piece == KING && move->fromfile == fileidx('e')) {
236
237 if (move->tofile == fileidx('g')) {
-238 gamestate->board[move->torow][fileidx('h')] = 0;
+238 gamestate->board[move->torow][fileidx('h')] = 0;
239 gamestate->board[move->torow][fileidx('f')] = color|ROOK;
240 } else if (move->tofile == fileidx('c')) {
-241 gamestate->board[move->torow][fileidx('a')] = 0;
+241 gamestate->board[move->torow][fileidx('a')] = 0;
242 gamestate->board[move->torow][fileidx('d')] = color|ROOK;
243 }
244 }
245
246 if (!simulate) {
-247 if (!move->string[0]) {
+247 if (!move->string[0]) {
248 format_move(gamestate, move);
249 }
250 }
@@ -306,7 +309,7 @@
253 }
254
255 void apply_move(GameState *gamestate, Move *move) {
-256 apply_move_impl(gamestate, move, 0);
+256 apply_move_impl(gamestate, move, 0);
257 }
258
259 static int validate_move_rules(GameState *gamestate, Move *move) {
@@ -333,8 +336,8 @@
280 }
281
282
-283 if ((mdst(gamestate->board, move) == 0 && move->capture) ||
-284 (mdst(gamestate->board, move) != 0 && !move->capture)) {
+283 if ((mdst(gamestate->board, move) == 0 && move->capture) ||
+284 (mdst(gamestate->board, move) != 0 && !move->capture)) {
285 return INVALID_MOVE_SYNTAX;
286 }
287
@@ -383,9 +386,9 @@
330
331 uint8_t piececolor = (move->piece & COLOR_MASK);
332
-333 uint8_t mykingfile = 0, mykingrow = 0, opkingfile = 0, opkingrow = 0;
-334 for (uint8_t row = 0 ; row < 8 ; row++) {
-335 for (uint8_t file = 0 ; file < 8 ; file++) {
+333 uint8_t mykingfile = 0, mykingrow = 0, opkingfile = 0, opkingrow = 0;
+334 for (uint8_t row = 0 ; row < 8 ; row++) {
+335 for (uint8_t file = 0 ; file < 8 ; file++) {
336 if (gamestate->board[row][file] ==
337 (piececolor == WHITE?WKING:BKING)) {
338 mykingfile = file;
@@ -401,7 +404,7 @@
348
349 GameState simulation = gamestate_copy_sim(gamestate);
350 Move simmove = *move;
-351 apply_move_impl(&simulation, &simmove, 1);
+351 apply_move_impl(&simulation, &simmove, 1);
352
353
354 if (is_covered(&simulation, mykingrow, mykingfile,
@@ -418,17 +421,17 @@
365 }
366
367
-368 Move threats[16];
+368 Move threats[16];
369 uint8_t threatcount;
370 move->check = get_threats(&simulation, opkingrow, opkingfile,
371 piececolor, threats, &threatcount);
372
373 if (move->check) {
374
-375 _Bool canescape = 0;
-376 for (int dr = -1 ; dr <= 1 && !canescape ; dr++) {
-377 for (int df = -1 ; df <= 1 && !canescape ; df++) {
-378 if (!(dr == 0 && df == 0) &&
+375 _Bool canescape = 0;
+376 for (int dr = -1 ; dr <= 1 && !canescape ; dr++) {
+377 for (int df = -1 ; df <= 1 && !canescape ; df++) {
+378 if (!(dr == 0 && df == 0) &&
379 isidx(opkingrow + dr) && isidx(opkingfile + df)) {
380
381
@@ -441,14 +444,14 @@
388 }
389 }
390
-391 if (!canescape && threatcount == 1) {
-392 canescape = is_attacked(&simulation, threats[0].fromrow,
-393 threats[0].fromfile, opponent_color(piececolor));
+391 if (!canescape && threatcount == 1) {
+392 canescape = is_attacked(&simulation, threats[0].fromrow,
+393 threats[0].fromfile, opponent_color(piececolor));
394 }
395
396
-397 if (!canescape && threatcount == 1) {
-398 Move *threat = &(threats[0]);
+397 if (!canescape && threatcount == 1) {
+398 Move *threat = &(threats[0]);
399 uint8_t threatpiece = threat->piece & PIECE_MASK;
400
401
@@ -456,7 +459,7 @@
403 || threatpiece == QUEEN) {
404 if (threat->fromrow == threat->torow) {
405
-406 int d = threat->tofile > threat->fromfile ? 1 : -1;
+406 int d = threat->tofile > threat->fromfile ? 1 : -1;
407 uint8_t file = threat->fromfile;
408 while (!canescape && file != threat->tofile - d) {
409 file += d;
@@ -465,7 +468,7 @@
412 }
413 } else if (threat->fromfile == threat->tofile) {
414
-415 int d = threat->torow > threat->fromrow ? 1 : -1;
+415 int d = threat->torow > threat->fromrow ? 1 : -1;
416 uint8_t row = threat->fromrow;
417 while (!canescape && row != threat->torow - d) {
418 row += d;
@@ -474,8 +477,8 @@
421 }
422 } else {
423
-424 int dr = threat->torow > threat->fromrow ? 1 : -1;
-425 int df = threat->tofile > threat->fromfile ? 1 : -1;
+424 int dr = threat->torow > threat->fromrow ? 1 : -1;
+425 int df = threat->tofile > threat->fromfile ? 1 : -1;
426
427 uint8_t row = threat->fromrow;
428 uint8_t file = threat->fromfile;
@@ -491,7 +494,7 @@
438 }
439
440 if (!canescape) {
-441 gamestate->checkmate = 1;
+441 gamestate->checkmate = 1;
442 }
443 }
444
@@ -502,13 +505,13 @@
449
450 _Bool get_threats(GameState *gamestate, uint8_t row, uint8_t file,
451 uint8_t color, Move *threats, uint8_t *threatcount) {
-452 Move candidates[32];
-453 int candidatecount = 0;
-454 for (uint8_t r = 0 ; r < 8 ; r++) {
-455 for (uint8_t f = 0 ; f < 8 ; f++) {
+452 Move candidates[32];
+453 int candidatecount = 0;
+454 for (uint8_t r = 0 ; r < 8 ; r++) {
+455 for (uint8_t f = 0 ; f < 8 ; f++) {
456 if ((gamestate->board[r][f] & COLOR_MASK) == color) {
457
-458 memset(&(candidates[candidatecount]), 0, sizeof(Move));
+458 memset(&(candidates[candidatecount]), 0, sizeof(Move));
459 candidates[candidatecount].piece = gamestate->board[r][f];
460 candidates[candidatecount].fromrow = r;
461 candidates[candidatecount].fromfile = f;
@@ -518,24 +521,24 @@
465
466
467 memcpy(&(candidates[candidatecount]),
-468 &(candidates[candidatecount-1]), sizeof(Move));
-469 candidates[candidatecount].capture = 1;
+468 &(candidates[candidatecount-1]), sizeof(Move));
+469 candidates[candidatecount].capture = 1;
470 candidatecount++;
471 }
472 }
473 }
474
475 if (threatcount) {
-476 *threatcount = 0;
+476 *threatcount = 0;
477 }
478
479
-480 _Bool result = 0;
+480 _Bool result = 0;
481
-482 for (int i = 0 ; i < candidatecount ; i++) {
+482 for (int i = 0 ; i < candidatecount ; i++) {
483 if (validate_move_rules(gamestate, &(candidates[i]))
484 == VALID_MOVE_SEMANTICS) {
-485 result = 1;
+485 result = 1;
486 if (threats && threatcount) {
487 threats[(*threatcount)++] = candidates[i];
488 }
@@ -548,9 +551,9 @@
495 _Bool is_pinned(GameState *gamestate, Move *move) {
496 uint8_t color = move->piece & COLOR_MASK;
497
-498 uint8_t kingfile = 0, kingrow = 0;
-499 for (uint8_t row = 0 ; row < 8 ; row++) {
-500 for (uint8_t file = 0 ; file < 8 ; file++) {
+498 uint8_t kingfile = 0, kingrow = 0;
+499 for (uint8_t row = 0 ; row < 8 ; row++) {
+500 for (uint8_t file = 0 ; file < 8 ; file++) {
501 if (gamestate->board[row][file] == (color|KING)) {
502 kingfile = file;
503 kingrow = row;
@@ -572,17 +575,17 @@
519 uint8_t color, Move *threats, uint8_t *threatcount) {
520
521 if (threatcount) {
-522 *threatcount = 0;
+522 *threatcount = 0;
523 }
524
-525 Move candidates[16];
+525 Move candidates[16];
526 uint8_t candidatecount;
527 if (get_threats(gamestate, row, file, color, candidates, &candidatecount)) {
528
-529 _Bool result = 0;
-530 uint8_t kingfile = 0, kingrow = 0;
-531 for (uint8_t row = 0 ; row < 8 ; row++) {
-532 for (uint8_t file = 0 ; file < 8 ; file++) {
+529 _Bool result = 0;
+530 uint8_t kingfile = 0, kingrow = 0;
+531 for (uint8_t row = 0 ; row < 8 ; row++) {
+532 for (uint8_t file = 0 ; file < 8 ; file++) {
533 if (gamestate->board[row][file] == (color|KING)) {
534 kingfile = file;
535 kingrow = row;
@@ -590,13 +593,13 @@
537 }
538 }
539
-540 for (uint8_t i = 0 ; i < candidatecount ; i++) {
+540 for (uint8_t i = 0 ; i < candidatecount ; i++) {
541 GameState simulation = gamestate_copy_sim(gamestate);
542 Move simmove = candidates[i];
543 apply_move(&simulation, &simmove);
544 if (!is_covered(&simulation, kingrow, kingfile,
545 opponent_color(color))) {
-546 result = 1;
+546 result = 1;
547 if (threats && threatcount) {
548 threats[(*threatcount)++] = candidates[i];
549 }
@@ -605,16 +608,16 @@
552
553 return result;
554 } else {
-555 return 0;
+555 return 0;
556 }
557 }
558
559 static int getlocation(GameState *gamestate, Move *move) {
560
561 uint8_t color = move->piece & COLOR_MASK;
-562 _Bool incheck = gamestate->lastmove?gamestate->lastmove->move.check:0;
+562 _Bool incheck = gamestate->lastmove?gamestate->lastmove->move.check:0;
563
-564 Move threats[16], *threat = NULL;
+564 Move threats[16], *threat = NULL;
565 uint8_t threatcount;
566
567 if (get_threats(gamestate, move->torow, move->tofile, color,
@@ -623,7 +626,7 @@
570 int reason = INVALID_POSITION;
571
572
-573 for (uint8_t i = 0 ; i < threatcount ; i++) {
+573 for (uint8_t i = 0 ; i < threatcount ; i++) {
574 if ((threats[i].piece & (PIECE_MASK | COLOR_MASK))
575 == move->piece &&
576 (move->fromrow == POS_UNSPECIFIED ||
@@ -657,120 +660,120 @@
604 }
605
606 int eval_move(GameState *gamestate, char *mstr, Move *move, uint8_t color) {
-607 memset(move, 0, sizeof(Move));
+607 memset(move, 0, sizeof(Move));
608 move->fromfile = POS_UNSPECIFIED;
609 move->fromrow = POS_UNSPECIFIED;
610
611 size_t len = strlen(mstr);
-612 if (len < 1 || len > 6) {
+612 if (len < 1 || len > 6) {
613 return INVALID_MOVE_SYNTAX;
614 }
615
616
-617 if (mstr[len-1] == '+') {
+617 if (mstr[len-1] == '+') {
618 len--; mstr[len] = '\0';
-619 move->check = 1;
-620 } else if (mstr[len-1] == '#') {
+619 move->check = 1;
+620 } else if (mstr[len-1] == '#') {
621 len--; mstr[len] = '\0';
622
623 }
624
625
-626 if (len > 3 && mstr[len-2] == '=') {
-627 move->promotion = getpiece(mstr[len-1]);
+626 if (len > 3 && mstr[len-2] == '=') {
+627 move->promotion = getpiece(mstr[len-1]);
628 if (!move->promotion) {
629 return INVALID_MOVE_SYNTAX;
630 } else {
631 move->promotion |= color;
-632 len -= 2;
-633 mstr[len] = 0;
+632 len -= 2;
+633 mstr[len] = 0;
634 }
635 }
636
-637 if (len == 2) {
+637 if (len == 2) {
638
639 move->piece = PAWN;
-640 move->tofile = fileidx(mstr[0]);
-641 move->torow = rowidx(mstr[1]);
-642 } else if (len == 3) {
-643 if (strcmp(mstr, "O-O") == 0) {
+640 move->tofile = fileidx(mstr[0]);
+641 move->torow = rowidx(mstr[1]);
+642 } else if (len == 3) {
+643 if (strcmp(mstr, "O-O") == 0) {
644
645 move->piece = KING;
646 move->fromfile = fileidx('e');
647 move->tofile = fileidx('g');
-648 move->fromrow = move->torow = color == WHITE ? 0 : 7;
+648 move->fromrow = move->torow = color == WHITE ? 0 : 7;
649 } else {
650
-651 move->piece = getpiece(mstr[0]);
-652 move->tofile = fileidx(mstr[1]);
-653 move->torow = rowidx(mstr[2]);
+651 move->piece = getpiece(mstr[0]);
+652 move->tofile = fileidx(mstr[1]);
+653 move->torow = rowidx(mstr[2]);
654 }
-655 } else if (len == 4) {
-656 move->piece = getpiece(mstr[0]);
+655 } else if (len == 4) {
+656 move->piece = getpiece(mstr[0]);
657 if (!move->piece) {
658 move->piece = PAWN;
-659 move->fromfile = fileidx(mstr[0]);
+659 move->fromfile = fileidx(mstr[0]);
660 }
-661 if (mstr[1] == 'x') {
+661 if (mstr[1] == 'x') {
662
-663 move->capture = 1;
+663 move->capture = 1;
664 } else {
665
-666 if (isfile(mstr[1])) {
-667 move->fromfile = fileidx(mstr[1]);
+666 if (isfile(mstr[1])) {
+667 move->fromfile = fileidx(mstr[1]);
668 if (move->piece == PAWN) {
-669 move->piece = 0;
+669 move->piece = 0;
670 }
671 } else {
-672 move->fromrow = rowidx(mstr[1]);
+672 move->fromrow = rowidx(mstr[1]);
673 }
674 }
-675 move->tofile = fileidx(mstr[2]);
-676 move->torow = rowidx(mstr[3]);
-677 } else if (len == 5) {
-678 if (strcmp(mstr, "O-O-O") == 0) {
+675 move->tofile = fileidx(mstr[2]);
+676 move->torow = rowidx(mstr[3]);
+677 } else if (len == 5) {
+678 if (strcmp(mstr, "O-O-O") == 0) {
679
680 move->piece = KING;
681 move->fromfile = fileidx('e');
682 move->tofile = fileidx('c');
-683 move->fromrow = move->torow = color == WHITE ? 0 : 7;
+683 move->fromrow = move->torow = color == WHITE ? 0 : 7;
684 } else {
-685 move->piece = getpiece(mstr[0]);
-686 if (mstr[2] == 'x') {
-687 move->capture = 1;
+685 move->piece = getpiece(mstr[0]);
+686 if (mstr[2] == 'x') {
+687 move->capture = 1;
688 if (move->piece) {
689
-690 move->fromfile = fileidx(mstr[1]);
+690 move->fromfile = fileidx(mstr[1]);
691 } else {
692
693 move->piece = PAWN;
-694 move->fromfile = fileidx(mstr[0]);
-695 move->fromrow = rowidx(mstr[1]);
+694 move->fromfile = fileidx(mstr[0]);
+695 move->fromrow = rowidx(mstr[1]);
696 }
697 } else {
698
-699 move->fromfile = fileidx(mstr[1]);
-700 move->fromrow = rowidx(mstr[2]);
+699 move->fromfile = fileidx(mstr[1]);
+700 move->fromrow = rowidx(mstr[2]);
701 }
-702 move->tofile = fileidx(mstr[3]);
-703 move->torow = rowidx(mstr[4]);
+702 move->tofile = fileidx(mstr[3]);
+703 move->torow = rowidx(mstr[4]);
704 }
-705 } else if (len == 6) {
+705 } else if (len == 6) {
706
-707 if (mstr[3] == 'x') {
-708 move->capture = 1;
-709 move->piece = getpiece(mstr[0]);
-710 move->fromfile = fileidx(mstr[1]);
-711 move->fromrow = rowidx(mstr[2]);
-712 move->tofile = fileidx(mstr[4]);
-713 move->torow = rowidx(mstr[5]);
+707 if (mstr[3] == 'x') {
+708 move->capture = 1;
+709 move->piece = getpiece(mstr[0]);
+710 move->fromfile = fileidx(mstr[1]);
+711 move->fromrow = rowidx(mstr[2]);
+712 move->tofile = fileidx(mstr[4]);
+713 move->torow = rowidx(mstr[5]);
714 }
715 }
716
717
718 if (move->piece) {
719 if (move->piece == PAWN
-720 && move->torow == (color==WHITE?7:0)
+720 && move->torow == (color==WHITE?7:0)
721 && !move->promotion) {
722 return NEED_PROMOTION;
723 }
@@ -790,29 +793,29 @@
737 _Bool is_protected(GameState *gamestate, uint8_t row, uint8_t file,
738 uint8_t color) {
739
-740 Move threats[16];
+740 Move threats[16];
741 uint8_t threatcount;
742 if (get_real_threats(gamestate, row, file, color, threats, &threatcount)) {
-743 for (int i = 0 ; i < threatcount ; i++) {
+743 for (int i = 0 ; i < threatcount ; i++) {
744 if (threats[i].piece != (color|KING)) {
-745 return 1;
+745 return 1;
746 }
747 }
-748 return 0;
+748 return 0;
749 } else {
-750 return 0;
+750 return 0;
751 }
752 }
753
754 uint16_t remaining_movetime(GameInfo *gameinfo, GameState *gamestate,
755 uint8_t color) {
756 if (!gameinfo->timecontrol) {
-757 return 0;
+757 return 0;
758 }
759
760 if (gamestate->movelist) {
761 uint16_t time = gameinfo->time;
-762 suseconds_t micros = 0;
+762 suseconds_t micros = 0;
763
764 MoveList *movelist = color == WHITE ?
765 gamestate->movelist : gamestate->movelist->next;
@@ -822,7 +825,7 @@
769
770 struct movetimeval *movetime = &(movelist->move.movetime);
771 if (movetime->tv_sec >= time) {
-772 return 0;
+772 return 0;
773 }
774
775 time -= movetime->tv_sec;
@@ -840,16 +843,16 @@
787 micros += currenttstamp.tv_usec - lastmovetstamp->tv_usec;
788 sec = currenttstamp.tv_sec - lastmovetstamp->tv_sec;
789 if (sec >= time) {
-790 return 0;
+790 return 0;
791 }
792
793 time -= sec;
794 }
795
-796 sec = micros / 1e6L;
+796 sec = micros / 1e6L;
797
798 if (sec >= time) {
-799 return 0;
+799 return 0;
800 }
801
802 time -= sec;