@@ -179,8 +179,9 @@ int main(int argc, char *argv[])
179179
180180 auto start = std::chrono::high_resolution_clock::now ();
181181
182- long long p_buffer_status = -1 ;
183- long long s_buffer_status = -1 ;
182+ enum BufferStatus { EMPTY = -1 , DATA_LOADED = 0 , DATA_IN_USE = 1 , DATA_PROCESSED = 2 };
183+ long long p_buffer_status = EMPTY;
184+ long long s_buffer_status = EMPTY;
184185 long long p_buffer_size = 0 ;
185186 long long s_buffer_size = 0 ;
186187 unsigned long long current_chunk = 0 ;
@@ -194,24 +195,24 @@ int main(int argc, char *argv[])
194195 {
195196 progress_bar (1 , 1 );
196197 }
197- while (p_buffer_status != - 1 || s_buffer_status != - 1 || bytes_left > 0 )
198+ while (p_buffer_status != EMPTY || s_buffer_status != EMPTY || bytes_left > 0 )
198199 {
199200 // Join threads
200201 for (unsigned long long id = 0 ; id < threads.size (); ++id) {
201202 threads[(unsigned int )id].join ();
202203 }
203204 threads.clear ();
204- if (p_buffer_status == 1 )
205+ if (p_buffer_status == DATA_IN_USE )
205206 {
206- p_buffer_status = 2 ;
207+ p_buffer_status = DATA_PROCESSED ;
207208 }
208- else if (s_buffer_status == 1 )
209+ else if (s_buffer_status == DATA_IN_USE )
209210 {
210- s_buffer_status = 2 ;
211+ s_buffer_status = DATA_PROCESSED ;
211212 }
212213
213214 // Create threads
214- if (p_buffer_status == 0 )
215+ if (p_buffer_status == DATA_LOADED )
215216 {
216217 if (operation == " -e" )
217218 {
@@ -225,9 +226,9 @@ int main(int argc, char *argv[])
225226 threads.push_back (std::thread (decrypt, id, num_threads, key_size, std::ref (key), p_buffer_size, std::ref (p_buffer), std::ref (lookup_table)));
226227 }
227228 }
228- p_buffer_status = 1 ;
229+ p_buffer_status = DATA_IN_USE ;
229230 }
230- else if (s_buffer_status == 0 )
231+ else if (s_buffer_status == DATA_LOADED )
231232 {
232233 if (operation == " -e" )
233234 {
@@ -241,29 +242,29 @@ int main(int argc, char *argv[])
241242 threads.push_back (std::thread (decrypt, id, num_threads, key_size, std::ref (key), s_buffer_size, std::ref (s_buffer), std::ref (lookup_table)));
242243 }
243244 }
244- s_buffer_status = 1 ;
245+ s_buffer_status = DATA_IN_USE ;
245246 }
246247
247248 // Write data
248- if (p_buffer_status == 2 )
249+ if (p_buffer_status == DATA_PROCESSED )
249250 {
250251 f_out.write (reinterpret_cast <const char *>(&p_buffer), p_buffer_size);
251252 ++current_chunk;
252253 progress_bar (current_chunk, num_chunks);
253- p_buffer_status = - 1 ;
254+ p_buffer_status = EMPTY ;
254255 }
255- else if (s_buffer_status == 2 )
256+ else if (s_buffer_status == DATA_PROCESSED )
256257 {
257258 f_out.write (reinterpret_cast <const char *>(&s_buffer), s_buffer_size);
258259 ++current_chunk;
259260 progress_bar (current_chunk, num_chunks);
260- s_buffer_status = - 1 ;
261+ s_buffer_status = EMPTY ;
261262 }
262263
263264 // Read data
264265 if (bytes_left > 0 )
265266 {
266- if (p_buffer_status == - 1 )
267+ if (p_buffer_status == EMPTY )
267268 {
268269 if (bytes_left >= buffer_size)
269270 {
@@ -277,9 +278,9 @@ int main(int argc, char *argv[])
277278 p_buffer_size = bytes_left;
278279 bytes_left = 0 ;
279280 }
280- p_buffer_status = 0 ;
281+ p_buffer_status = DATA_LOADED ;
281282 }
282- else if (s_buffer_status == - 1 )
283+ else if (s_buffer_status == EMPTY )
283284 {
284285 if (bytes_left >= buffer_size)
285286 {
@@ -293,7 +294,7 @@ int main(int argc, char *argv[])
293294 s_buffer_size = bytes_left;
294295 bytes_left = 0 ;
295296 }
296- s_buffer_status = 0 ;
297+ s_buffer_status = DATA_LOADED ;
297298 }
298299 }
299300 }
0 commit comments