g_simple_async_result_set_op_res_gssize (simple, res);
if (res == -1)
{
- g_simple_async_result_set_from_error (simple, error);
- g_error_free (error);
+ g_simple_async_result_take_error (simple, error);
}
else
{
/* Only report the error if we've not already read some data */
if (nread < 0 && data->bytes_read == 0)
- g_simple_async_result_set_from_error (simple, error);
+ g_simple_async_result_take_error (simple, error);
+ else if (error)
+ g_error_free (error);
if (nread > 0)
data->bytes_read += nread;
- if (error)
- g_error_free (error);
-
/* Complete immediately, not in idle, since we're already
* in a mainloop callout
*/
result, &error);
if (nread < 0 && data->bytes_read == 0)
- g_simple_async_result_set_from_error (simple, error);
-
+ g_simple_async_result_take_error (simple, error);
+ else if (error)
+ g_error_free (error);
if (nread > 0)
{
priv->pos += data->count;
}
- if (error)
- g_error_free (error);
-
/* Complete immediately, not in idle, since we're already
* in a mainloop callout
*/
/* Only report the error if we've not already read some data */
if (nread < 0 && data->bytes_skipped == 0)
- g_simple_async_result_set_from_error (simple, error);
+ g_simple_async_result_take_error (simple, error);
+ else if (error)
+ g_error_free (error);
if (nread > 0)
data->bytes_skipped += nread;
- if (error)
- g_error_free (error);
-
/* Complete immediately, not in idle, since we're already
* in a mainloop callout
*/
result, &error);
if (nread < 0 && data->bytes_skipped == 0)
- g_simple_async_result_set_from_error (simple, error);
+ g_simple_async_result_take_error (simple, error);
+ else if (error)
+ g_error_free (error);
if (nread > 0)
{
priv->pos += data->count;
}
- if (error)
- g_error_free (error);
-
/* Complete immediately, not in idle, since we're already
* in a mainloop callout
*/