[Xcb] [PATCH xcb-util-image] Fix compilation when NDEBUG is defined

Jon TURNEY jon.turney at dronecode.org.uk
Thu Dec 20 14:56:28 PST 2012


XORG_DEFAULT_OPTIONS enables -Werror=return-type

xcb_image_get_pixel() and xcb_image_create_native() assume assert(0) is
noreturn, and don't return a value in that case.  But assert(0) isn't noreturn
if NDEBUG is defined.

Fix this by returning a suitable value.

(Also, on the MinGW target, assert(0) is non-standard and may return even in the
!NDEBUG case, as the C runtime may ask the user if they want to abort or not...)

/jhbuild/checkout/xcb/xcb-util-image/image/xcb_image.c: In function 'xcb_image_get_pixel':
/jhbuild/checkout/xcb/xcb-util-image/image/xcb_image.c:754:1: error: control reaches end of non-void function [-Wreturn-type]
/jhbuild/checkout/xcb/xcb-util-image/image/xcb_image.c: In function 'xcb_image_create_native':
/jhbuild/checkout/xcb/xcb-util-image/image/xcb_image.c:190:1: error: control reaches end of non-void function [-Wreturn-type]

Signed-off-by: Jon TURNEY <jon.turney at dronecode.org.uk>
---
 image/xcb_image.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/image/xcb_image.c b/image/xcb_image.c
index e426cbd..101aa4f 100644
--- a/image/xcb_image.c
+++ b/image/xcb_image.c
@@ -187,6 +187,7 @@ xcb_image_create_native (xcb_connection_t *  c,
       assert(0);
   }
   assert(0);
+  return NULL;
 }
 
 
@@ -751,6 +752,7 @@ xcb_image_get_pixel (xcb_image_t *image,
   default:
       assert(0);
   }
+  return 0;
 }
 
 
-- 
1.7.9



More information about the Xcb mailing list