Skip to content

Commit 9555a06

Browse files
committed
ref: use Cell also for TournamentType.selected
1 parent ad5df49 commit 9555a06

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

crates/legacy-zebra/src/thordb.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use std::cell::Cell;
12
use crate::src::error::LibcFatalError;
23
use engine::src::stubs::abs;
34
use thordb_types::{Int8, Int16, Int32, OpeningNodeRef, ThorOpeningTree};
@@ -296,14 +297,14 @@ pub unsafe fn read_tournament_database(file_name: &str)
296297
if success != 0 {
297298
tournaments.tournament_list.resize(tournaments_count as usize, TournamentType {
298299
lex_order: 0,
299-
selected: 0,
300+
selected: Cell::new(0),
300301
name: &[]
301302
});
302303
i = 0;
303304
while i < tournaments_count {
304305
tournaments.tournament_list[i as usize] = (TournamentType {
305306
lex_order: 0,
306-
selected: 1,
307+
selected: Cell::new(1),
307308
name: tournaments.tournament_name(i)
308309
});
309310
i += 1
@@ -1070,7 +1071,7 @@ fn filter_database(db: &DatabaseType, tournaments_: &[TournamentType], players_:
10701071
let game = (*db).games.as_slice().offset(i as isize);
10711072
passes_filter = 1;
10721073
/* Apply the tournament filter */
1073-
if passes_filter != 0 && (*tournaments_.offset((*game).tournament_no as isize)).selected == 0 {
1074+
if passes_filter != 0 && (*tournaments_.offset((*game).tournament_no as isize)).selected.get() == 0 {
10741075
passes_filter = 0
10751076
}
10761077
/* Apply the year filter */
@@ -1157,8 +1158,7 @@ unsafe fn set_player_filter(selected: &[i32]) {
11571158
unsafe fn set_tournament_filter(selected: &mut [i32]) {
11581159
let mut i: i32 = 0;
11591160
while i < tournaments.count() {
1160-
(*tournaments.tournament_list.offset(i as isize)).selected =
1161-
*selected.offset(i as isize);
1161+
(*tournaments.tournament_list.offset(i as isize)).selected.set(*selected.offset(i as isize));
11621162
i += 1
11631163
}
11641164
thor_games_filtered = 0;

crates/thordb-types/thordb-types.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,11 +227,11 @@ impl IndexMut<OpeningNodeRef> for ThorOpeningTree {
227227
}
228228
}
229229

230-
#[derive(Copy, Clone)]
230+
#[derive(Clone)]
231231
#[repr(C)]
232232
pub struct TournamentType {
233233
pub lex_order: i32,
234-
pub selected: i32,
234+
pub selected: Cell<i32>,
235235
pub name: &'static [u8],
236236
}
237237

0 commit comments

Comments
 (0)