GPAK  1.0.0
A general-purpose archive library
gpak_helper.c
1 #include "gpak_helper.h"
2 
3 int _gpak_make_error(gpak_t* _pak, int _error_code)
4 {
5  _pak->last_error_ = _error_code;
6 
7  if (_pak->error_handler_ && _error_code != GPAK_ERROR_OK)
8  {
9  _pak->error_handler_(_pak->current_file_, _error_code, _pak->user_data_);
10  }
11 
12  return _error_code;
13 }
14 
15 void _gpak_pass_progress(gpak_t* _pak, size_t _done, size_t _total, int32_t _stage)
16 {
17  if (_pak->progress_handler_)
18  _pak->progress_handler_(_pak->current_file_, _done, _total, _stage, _pak->user_data_);
19 }
20 
21 size_t _fwriteb(const void* _data, size_t _elemSize, size_t _elemCount, FILE* _file)
22 {
23  return fwrite(_data, _elemSize, _elemCount, _file) * _elemSize;
24 }
25 
26 size_t _freadb(void* _data, size_t _elemSize, size_t _elemCount, FILE* _file)
27 {
28  return fread(_data, _elemSize, _elemCount, _file) * _elemSize;
29 }
@ GPAK_ERROR_OK
Definition: gpak_data.h:155
gpak_progress_handler_t progress_handler_
Definition: gpak_data.h:265
char * current_file_
Definition: gpak_data.h:263
void * user_data_
Definition: gpak_data.h:266
gpak_error_handler_t error_handler_
Definition: gpak_data.h:264
int last_error_
Definition: gpak_data.h:261