@@ -69,25 +69,23 @@ bool TessdataManager::LoadMemBuffer(const char *name, const char *data,
69
69
data_file_name_ = name;
70
70
TFile fp;
71
71
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 ;
75
75
fp.set_swap (swap_);
76
76
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 ;
78
78
GenericVector<int64_t > offset_table;
79
79
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 ;
83
81
for (int i = 0 ; i < num_entries && i < TESSDATA_NUM_ENTRIES; ++i) {
84
82
if (offset_table[i] >= 0 ) {
85
83
int64_t entry_size = size - offset_table[i];
86
84
int j = i + 1 ;
87
85
while (j < num_entries && offset_table[j] == -1 ) ++j;
88
86
if (j < num_entries) entry_size = offset_table[j] - offset_table[i];
89
87
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 ;
91
89
}
92
90
}
93
91
if (entries_[TESSDATA_VERSION].empty ()) {
@@ -135,11 +133,11 @@ void TessdataManager::Serialize(GenericVector<char> *data) const {
135
133
int32_t num_entries = TESSDATA_NUM_ENTRIES;
136
134
TFile fp;
137
135
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));
140
138
for (int i = 0 ; i < TESSDATA_NUM_ENTRIES; ++i) {
141
139
if (!entries_[i].empty ()) {
142
- fp.FWrite (&entries_[i][0 ], entries_[i].size (), 1 );
140
+ fp.Serialize (&entries_[i][0 ], entries_[i].size ());
143
141
}
144
142
}
145
143
}
0 commit comments