예제 #1
0
static void rarch_task_decompress_handler_subdir(rarch_task_t *task)
{
   bool returnerr;
   decompress_state_t *dec = (decompress_state_t*)task->state;
   int ret = zlib_parse_file_iterate(&dec->zlib, &returnerr, dec->source_file,
         dec->valid_ext, file_decompressed_subdir, dec);

   task->progress = zlib_parse_file_progress(&dec->zlib);

   if (task->cancelled || ret != 0)
   {
      task->error = dec->callback_error;
      zlib_parse_file_iterate_stop(&dec->zlib);

      rarch_task_decompress_handler_finished(task, dec);
   }
}
예제 #2
0
static void rarch_task_decompress_handler_target_file(retro_task_t *task)
{
   bool retdec;
   decompress_state_t *dec = (decompress_state_t*)task->state;
   int ret = file_archive_parse_file_iterate(&dec->zlib,
         &retdec, dec->source_file,
         dec->valid_ext, file_decompressed_target_file, dec);

   task->progress = file_archive_parse_file_progress(&dec->zlib);

   if (task->cancelled || ret != 0)
   {
      task->error = dec->callback_error;
      file_archive_parse_file_iterate_stop(&dec->zlib);

      rarch_task_decompress_handler_finished(task, dec);
   }
}