[Spice-devel] [PATCH spice-common v2] canvas-base: Do not attempt useless cast on stride adjustment

Frediano Ziglio fziglio at redhat.com
Wed Jun 21 09:40:23 UTC 2017


memmove already deal with any alignment so there's no
reason to have row byte pointer cast to uint32_t.
This also remove the confusing "dest" terminology used. The image
is aligned in place so the image bits are used for both destination
and source.

Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
 common/canvas_base.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

Changes since v1:
- remove confusing "dest" terminology.

diff --git a/common/canvas_base.c b/common/canvas_base.c
index 5815e9c..ed0de73 100644
--- a/common/canvas_base.c
+++ b/common/canvas_base.c
@@ -520,12 +520,11 @@ static void canvas_fix_alignment(uint8_t *bits,
     if (stride_pixman > stride_encoded) {
         // Fix the row alignment
         int row;
-        uint8_t *dest = bits;
         for (row = height - 1; row > 0; --row) {
-            uint32_t *dest_aligned, *dest_misaligned;
-            dest_aligned = SPICE_ALIGNED_CAST(uint32_t *,dest + stride_pixman*row);
-            dest_misaligned = SPICE_UNALIGNED_CAST(uint32_t*,dest + stride_encoded*row);
-            memmove(dest_aligned, dest_misaligned, stride_encoded);
+            uint8_t *aligned, *misaligned;
+            aligned = bits + stride_pixman*row;
+            misaligned = bits + stride_encoded*row;
+            memmove(aligned, misaligned, stride_encoded);
         }
     }
 }
-- 
2.9.4



More information about the Spice-devel mailing list