gstreamer/gst/printf
Tim-Philipp Müller 5803da553c printf: make printf parser recognise our pointer extension format
and call the hook to get a string for the pointer instead.

https://bugzilla.gnome.org/show_bug.cgi?id=613081
2013-04-12 23:05:57 +01:00
..
asnprintf.c printf: add our own printf implementation for debug logging 2013-04-12 23:05:56 +01:00
gst-printf.h printf: add our own printf implementation for debug logging 2013-04-12 23:05:56 +01:00
Makefile.am printf: add infrastructure for pointer extensions hook 2013-04-12 23:05:57 +01:00
printf-args.c printf: make printf parser recognise our pointer extension format 2013-04-12 23:05:57 +01:00
printf-args.h printf: make printf parser recognise our pointer extension format 2013-04-12 23:05:57 +01:00
printf-extension.c printf: add infrastructure for pointer extensions hook 2013-04-12 23:05:57 +01:00
printf-extension.h printf: add infrastructure for pointer extensions hook 2013-04-12 23:05:57 +01:00
printf-parse.c printf: make printf parser recognise our pointer extension format 2013-04-12 23:05:57 +01:00
printf-parse.h printf: make printf parser recognise our pointer extension format 2013-04-12 23:05:57 +01:00
printf.c printf: add our own printf implementation for debug logging 2013-04-12 23:05:56 +01:00
printf.h printf: add our own printf implementation for debug logging 2013-04-12 23:05:56 +01:00
README printf: add infrastructure for pointer extensions hook 2013-04-12 23:05:57 +01:00
vasnprintf.c printf: make printf parser recognise our pointer extension format 2013-04-12 23:05:57 +01:00
vasnprintf.h printf: add our own printf implementation for debug logging 2013-04-12 23:05:56 +01:00

The files

 asnprintf.c
 printf-args.c
 printf-args.h
 printf-parse.c
 printf-parse.h
 vasnprintf.c
 vasnprintf.h

are taken from the vasnprintf module of the GNUlib package, which can
be found at:

 http://www.gnu.org/software/gnulib/

All files have been modified to include g-gnulib.h.

vasnprintf.c has also been modified to include support for long long
printing if the system printf doesn't. This code is protected by
#ifndef HAVE_LONG_LONG_FORMAT.

Code has been added to printf-args.[ch], printf-parse.c and vasnprintf.c
to support printing of __int64 values with the I64 format modifier. This
is protected by #ifdef HAVE_INT64_AND_I64.

The files

 printf.h
 printf.c
 g-gnulib.h

have been written by me. printf.[hc] contain implementations of the
remaining functions in the printf family based on vasnprintf.
g-gnulib.h is included by all source files in order to move all
exported functions to the _g_gnulib namespace, replace malloc by
g_malloc and make sure that snprintf is only used if it implements
C99 return value semantics.

Matthias Clasen
November 1, 2003

-----

GStreamer modifications

This was imported from GLib's gnulib subdirectory.

g-gnulib.h and _g_gnulib namespace has been changed to gst-printf.h and
__gst_printf namespace for GStreamer. Also #define HAVE_SNPRINTF 0 has
been changed to #undef HAVE_SNPRINTF, and HAVE_ALLOCA has been changed to
GLIB_HAVE_ALLOCA_H

printf-extension.[ch] were added to provide support for custom pointer
arguments (e.g. caps, events, etc.)

Files have also been indented with gst-indent, so this is basically a
permanent fork and any patches will have to be merged manually.

March 30, 2013.