From 4dd3be87fa59ca5a0e3fa9d9ce6d33c1599681d9 Mon Sep 17 00:00:00 2001 From: Greg M Date: Mon, 12 May 2014 15:02:47 -0400 Subject: [PATCH] Make upper_blit use transmute instead of match --- src/sdl2/surface.rs | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/sdl2/surface.rs b/src/sdl2/surface.rs index 1e3ef0f1..ea2ed9cc 100644 --- a/src/sdl2/surface.rs +++ b/src/sdl2/surface.rs @@ -250,16 +250,9 @@ impl Surface { pub fn upper_blit( &self, src: &Surface, dstrect: Option, srcrect: Option ) -> bool { unsafe { - match( srcrect, dstrect ) { - (Some( srcrect ), Some( dstrect )) => - ll::SDL_UpperBlit( src.raw, &srcrect, self.raw, &dstrect ) == 0, - (Some( srcrect ), None) => - ll::SDL_UpperBlit( src.raw, &srcrect, self.raw, ptr::null() ) == 0, - (None, Some( dstrect )) => - ll::SDL_UpperBlit( src.raw, ptr::null(), self.raw, &dstrect ) == 0, - (None, None) => - ll::SDL_UpperBlit( src.raw, ptr::null(), self.raw, ptr::null() ) == 0 - } + let dstrect_ptr = mem::transmute( dstrect.as_ref() ); + let srcrect_ptr = mem::transmute( srcrect.as_ref() ); + ll::SDL_UpperBlit( src.raw, srcrect_ptr, self.raw, dstrect_ptr ) == 0 } }