Skip to content

Commit 88b3d94

Browse files
committed
TessdataManager: Use new serialization API
Signed-off-by: Stefan Weil <[email protected]>
1 parent da0217f commit 88b3d94

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

src/ccutil/tessdatamanager.cpp

+9-11
Original file line numberDiff line numberDiff line change
@@ -69,25 +69,23 @@ bool TessdataManager::LoadMemBuffer(const char *name, const char *data,
6969
data_file_name_ = name;
7070
TFile fp;
7171
fp.Open(data, size);
72-
int32_t num_entries = TESSDATA_NUM_ENTRIES;
73-
if (fp.FRead(&num_entries, sizeof(num_entries), 1) != 1) return false;
74-
swap_ = num_entries > kMaxNumTessdataEntries || num_entries < 0;
72+
uint32_t num_entries;
73+
if (!fp.DeSerialize(&num_entries)) return false;
74+
swap_ = num_entries > kMaxNumTessdataEntries;
7575
fp.set_swap(swap_);
7676
if (swap_) ReverseN(&num_entries, sizeof(num_entries));
77-
if (num_entries > kMaxNumTessdataEntries || num_entries < 0) return false;
77+
if (num_entries > kMaxNumTessdataEntries) return false;
7878
GenericVector<int64_t> offset_table;
7979
offset_table.resize_no_init(num_entries);
80-
if (fp.FReadEndian(&offset_table[0], sizeof(offset_table[0]), num_entries) !=
81-
num_entries)
82-
return false;
80+
if (!fp.DeSerialize(&offset_table[0], num_entries)) return false;
8381
for (int i = 0; i < num_entries && i < TESSDATA_NUM_ENTRIES; ++i) {
8482
if (offset_table[i] >= 0) {
8583
int64_t entry_size = size - offset_table[i];
8684
int j = i + 1;
8785
while (j < num_entries && offset_table[j] == -1) ++j;
8886
if (j < num_entries) entry_size = offset_table[j] - offset_table[i];
8987
entries_[i].resize_no_init(entry_size);
90-
if (fp.FRead(&entries_[i][0], 1, entry_size) != entry_size) return false;
88+
if (!fp.DeSerialize(&entries_[i][0], entry_size)) return false;
9189
}
9290
}
9391
if (entries_[TESSDATA_VERSION].empty()) {
@@ -135,11 +133,11 @@ void TessdataManager::Serialize(GenericVector<char> *data) const {
135133
int32_t num_entries = TESSDATA_NUM_ENTRIES;
136134
TFile fp;
137135
fp.OpenWrite(data);
138-
fp.FWrite(&num_entries, sizeof(num_entries), 1);
139-
fp.FWrite(offset_table, sizeof(offset_table), 1);
136+
fp.Serialize(&num_entries);
137+
fp.Serialize(&offset_table[0], countof(offset_table));
140138
for (int i = 0; i < TESSDATA_NUM_ENTRIES; ++i) {
141139
if (!entries_[i].empty()) {
142-
fp.FWrite(&entries_[i][0], entries_[i].size(), 1);
140+
fp.Serialize(&entries_[i][0], entries_[i].size());
143141
}
144142
}
145143
}

0 commit comments

Comments
 (0)