summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathon Jongsma <jjongsma@redhat.com>2015-11-04 11:18:31 -0600
committerFrediano Ziglio <fziglio@redhat.com>2015-11-04 18:25:50 +0000
commitac53e6a3c3dceaf640cb7832f39a4182b9b79931 (patch)
tree1d429ab9331097ca0d947b96abcbf3b1d6504386
parentb26c4a7898d8ffa36c352e82795bad7a3da1cc39 (diff)
downloadspice-ac53e6a3c3dceaf640cb7832f39a4182b9b79931.tar.gz
spice-ac53e6a3c3dceaf640cb7832f39a4182b9b79931.tar.xz
spice-ac53e6a3c3dceaf640cb7832f39a4182b9b79931.zip
style: prefer early return to large if blocks
Acked-by: Frediano Ziglio <fziglio@redhat.com>
-rw-r--r--server/red_worker.c46
1 files changed, 24 insertions, 22 deletions
diff --git a/server/red_worker.c b/server/red_worker.c
index 5b1ece81..1c37dc0f 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -958,11 +958,12 @@ static void release_image_item(ImageItem *item)
static void release_upgrade_item(RedWorker* worker, UpgradeItem *item)
{
- if (!--item->refs) {
- red_worker_drawable_unref(worker, item->drawable);
- free(item->rects);
- free(item);
- }
+ if (--item->refs != 0)
+ return;
+
+ red_worker_drawable_unref(worker, item->drawable);
+ free(item->rects);
+ free(item);
}
static uint8_t *common_alloc_recv_buf(RedChannelClient *rcc, uint16_t type, uint32_t size)
@@ -1159,27 +1160,28 @@ static void red_worker_drawable_unref(RedWorker *worker, Drawable *drawable)
{
RingItem *item, *next;
- if (!--drawable->refs) {
- spice_assert(!drawable->tree_item.shadow);
- spice_assert(ring_is_empty(&drawable->pipes));
+ if (--drawable->refs != 0)
+ return;
- if (drawable->stream) {
- red_detach_stream(worker, drawable->stream, TRUE);
- }
- region_destroy(&drawable->tree_item.base.rgn);
+ spice_warn_if_fail(!drawable->tree_item.shadow);
+ spice_warn_if_fail(ring_is_empty(&drawable->pipes));
- remove_drawable_dependencies(worker, drawable);
- red_dec_surfaces_drawable_dependencies(worker, drawable);
- red_destroy_surface(worker, drawable->surface_id);
+ if (drawable->stream) {
+ red_detach_stream(worker, drawable->stream, TRUE);
+ }
+ region_destroy(&drawable->tree_item.base.rgn);
- RING_FOREACH_SAFE(item, next, &drawable->glz_ring) {
- SPICE_CONTAINEROF(item, RedGlzDrawable, drawable_link)->drawable = NULL;
- ring_remove(item);
- }
- put_red_drawable(worker, drawable->red_drawable, drawable->group_id);
- free_drawable(worker, drawable);
- worker->drawable_count--;
+ remove_drawable_dependencies(worker, drawable);
+ red_dec_surfaces_drawable_dependencies(worker, drawable);
+ red_destroy_surface(worker, drawable->surface_id);
+
+ RING_FOREACH_SAFE(item, next, &drawable->glz_ring) {
+ SPICE_CONTAINEROF(item, RedGlzDrawable, drawable_link)->drawable = NULL;
+ ring_remove(item);
}
+ put_red_drawable(worker, drawable->red_drawable, drawable->group_id);
+ free_drawable(worker, drawable);
+ worker->drawable_count--;
}
static inline void remove_shadow(RedWorker *worker, DrawItem *item)