headers: check that __INCLUDE_LEVEL__ is defined before using it (#5575)
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 13 Mar 2017 07:11:24 +0000 (03:11 -0400)
committerMartin Pitt <martinpitt@users.noreply.github.com>
Mon, 13 Mar 2017 07:11:24 +0000 (08:11 +0100)
That macro is a gcc extension, and while widely supported, not ubiquitous.
In particular the coverity scanner is having trouble with it.

src/systemd/_sd-common.h

index 3bb886b..97c3943 100644 (file)
@@ -22,8 +22,8 @@
 
 /* This is a private header; never even think of including this directly! */
 
-#if __INCLUDE_LEVEL__ <= 1
-#error "Do not include _sd-common.h directly; it is a private header."
+#if defined(__INCLUDE_LEVEL__) && __INCLUDE_LEVEL__ <= 1
+#  error "Do not include _sd-common.h directly; it is a private header."
 #endif
 
 #ifndef _sd_printf_