diff options
author | Tim-Philipp Müller <tim.muller@collabora.co.uk> | 2009-11-05 21:18:26 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim.muller@collabora.co.uk> | 2009-11-05 21:23:22 +0000 |
commit | 8abd61339db0f6eb9622ea749107e8ec1a4c64b9 (patch) | |
tree | 3bb0ceb3c2fa663c52a10f4294cf46b1d7e4d0b3 | |
parent | 70a08107fdda0ec49051bdd3a85a1876f465d030 (diff) |
gstconfig.h: add define to force printf format checking for debug messages
Force printf format checking for debug messages if GST_DISABLE_PRINTF_EXTENSION
is defined. This is useful to quickly check code for printf format mismatches
in debugging messages that would usually not be caught (with glibc+gcc and
printf extensions being used).
To use: make clean; make CFLAGS='-g -O2 -DGST_DISABLE_PRINTF_EXTENSION'
-rw-r--r-- | gst/gstconfig.h.in | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gst/gstconfig.h.in b/gst/gstconfig.h.in index 43725a555..a849ecb87 100644 --- a/gst/gstconfig.h.in +++ b/gst/gstconfig.h.in @@ -156,6 +156,32 @@ * header files so we know whether we can use G_GNUC_PRINTF or not */ @GST_USING_PRINTF_EXTENSION_DEFINE@ +/* GST_DISABLE_PRINTF_EXTENSION: + * + * Define this to debug your debug log messages and make gcc spew warnings + * if printf format string and arguments don't match up (this is usually + * not the case when libc and gcc are used because printf format warnings + * have to be disabled when the printf extension mechanism is in use). + * + * Note that using this option disables 'pretty logging' of GStreamer objects + * like caps, tags, structures, events, pads etc., so that only their address + * will be printed in the log. + * + * This define only disables use of the special registered printf format + * extensions in the code compiled with it defined. It does not stop + * GStreamer from registering these extensions in the first place if it + * was compiled against a libc that supports this. + * + * (not official API) + */ +#ifdef GST_DISABLE_PRINTF_EXTENSION + #undef GST_PTR_FORMAT + #define GST_PTR_FORMAT "p" + #undef GST_SEGMENT_FORMAT + #define GST_SEGMENT_FORMAT "p" + #undef GST_USING_PRINTF_EXTENSION +#endif + /* whether or not the CPU supports unaligned access */ @GST_HAVE_UNALIGNED_ACCESS_DEFINE@ |