Grab pointer to nbio_handle_t and use it throughout functions

This commit is contained in:
twinaphex 2015-02-25 07:38:42 +01:00
parent 4ff8a4a6e9
commit 4a905e61fc

View File

@ -211,18 +211,24 @@ static int cb_nbio_image_menu_wallpaper(void *data, size_t len)
static int rarch_main_iterate_image_poll(void) static int rarch_main_iterate_image_poll(void)
{ {
const char *path = msg_queue_pull(g_extern.nbio.image.msg_queue); const char *path = NULL;
nbio_handle_t *nbio = (nbio_handle_t*)&g_extern.nbio;
if (!nbio)
return -1;
path = msg_queue_pull(nbio->image.msg_queue);
if (!path) if (!path)
return -1; return -1;
/* Can only deal with one image transfer at a time for now */ /* Can only deal with one image transfer at a time for now */
if (g_extern.nbio.image.handle) if (nbio->image.handle)
return -1; return -1;
/* We need to load the image file first. */ /* We need to load the image file first. */
msg_queue_clear(g_extern.nbio.msg_queue); msg_queue_clear(nbio->msg_queue);
msg_queue_push(g_extern.nbio.msg_queue, path, 0, 1); msg_queue_push(nbio->msg_queue, path, 0, 1);
return 0; return 0;
} }
@ -230,18 +236,22 @@ static int rarch_main_iterate_image_poll(void)
static int rarch_main_iterate_image_transfer(void) static int rarch_main_iterate_image_transfer(void)
{ {
unsigned i; unsigned i;
nbio_handle_t *nbio = (nbio_handle_t*)&g_extern.nbio;
if (g_extern.nbio.image.is_finished) if (!nbio)
return -1;
if (nbio->image.is_finished)
return 0; return 0;
for (i = 0; i < g_extern.nbio.image.pos_increment; i++) for (i = 0; i < nbio->image.pos_increment; i++)
{ {
if (rpng_nbio_load_image_argb_iterate( if (rpng_nbio_load_image_argb_iterate(
g_extern.nbio.image.handle->buff_data, nbio->image.handle->buff_data,
g_extern.nbio.image.handle)) nbio->image.handle))
{ {
g_extern.nbio.image.handle->buff_data += nbio->image.handle->buff_data +=
4 + 4 + g_extern.nbio.image.handle->chunk.size + 4; 4 + 4 + nbio->image.handle->chunk.size + 4;
return 0; return 0;
} }
else else
@ -352,15 +362,19 @@ error:
static int rarch_main_iterate_nbio_transfer(void) static int rarch_main_iterate_nbio_transfer(void)
{ {
size_t i; size_t i;
nbio_handle_t *nbio = (nbio_handle_t*)&g_extern.nbio;
g_extern.nbio.pos_increment = 5;
if (g_extern.nbio.is_finished) if (!nbio)
return -1;
nbio->pos_increment = 5;
if (nbio->is_finished)
return 0; return 0;
for (i = 0; i < g_extern.nbio.pos_increment; i++) for (i = 0; i < nbio->pos_increment; i++)
{ {
if (!nbio_iterate(g_extern.nbio.handle)) if (!nbio_iterate(nbio->handle))
return 0; return 0;
} }
@ -369,15 +383,19 @@ static int rarch_main_iterate_nbio_transfer(void)
static int rarch_main_iterate_nbio_parse_free(void) static int rarch_main_iterate_nbio_parse_free(void)
{ {
if (!g_extern.nbio.is_finished) nbio_handle_t *nbio = (nbio_handle_t*)&g_extern.nbio;
if (!nbio)
return -1;
if (!nbio->is_finished)
return -1; return -1;
nbio_free(g_extern.nbio.handle); nbio_free(nbio->handle);
g_extern.nbio.handle = NULL; nbio->handle = NULL;
g_extern.nbio.is_blocking = false; nbio->is_blocking = false;
g_extern.nbio.is_finished = false; nbio->is_finished = false;
msg_queue_clear(g_extern.nbio.msg_queue); msg_queue_clear(nbio->msg_queue);
return 0; return 0;
} }
@ -385,8 +403,13 @@ static int rarch_main_iterate_nbio_parse_free(void)
static int rarch_main_iterate_nbio_parse(void) static int rarch_main_iterate_nbio_parse(void)
{ {
int len = 0; int len = 0;
if (g_extern.nbio.cb) nbio_handle_t *nbio = (nbio_handle_t*)&g_extern.nbio;
g_extern.nbio.cb(&g_extern.nbio, len);
if (!nbio)
return -1;
if (nbio->cb)
nbio->cb(nbio, len);
return 0; return 0;
} }