Commit Graph

8 Commits

Author SHA1 Message Date
wm4 c613d802bc talloc: change talloc destructor signature
Change talloc destructor so that they can never signal failure, and
don't return a status code. This makes our talloc copy even more
incompatible to upstream talloc, but on the other hand this is
preparation for getting rid of talloc entirely.

(The talloc replacement in the next commit won't allow the talloc_free
equivalent to fail, and the destructor return value would be useless.
But I don't want to change any mpv code either; the idea is that the
talloc replacement commit can be reverted for some time in order to
test whether the talloc replacement introduced a regression.)
2013-10-13 01:16:30 +02:00
Stefano Pigozzi bec630c347 clang: fix all warnings except deprecations 2012-11-13 22:19:18 +01:00
wm4 a6c4f2646f mp_common.h: split parts into mp_talloc.h and compiler.h
Put MP_EXPAND_ARGS() in compiler.h, even though it's not compiler
dependent. Both mp_talloc.h and mp_common.h need it, while mp_common.h
includes mp_talloc.h. This is the least annoying solution.
2012-11-12 20:08:57 +01:00
wm4 4873b32c59 Rename directories, move files (step 2 of 2)
Finish renaming directories and moving files. Adjust all include
statements to make the previous commit compile.

The two commits are separate, because git is bad at tracking renames
and content changes at the same time.

Also take this as an opportunity to remove the separation between
"common" and "mplayer" sources in the Makefile. ("common" used to be
shared between mplayer and mencoder.)
2012-11-12 20:08:18 +01:00
wm4 25417a626d windows: fix format string attributes on MinGW
MinGW maps the "printf" format string archetype to the non-standard
MSVCRT functions, even if __USE_MINGW_ANSI_STDIO is defined and set
to 1. We need to use "gnu_printf" to use the format strings as provided
by vsnprintf and similar functions to get correct warnings.

Since "gnu_printf" isn't necessarily available on other GCC compatible
compilers (such as clang), do this only on MinGW.
2012-03-01 00:22:29 +02:00
Uoti Urpala 6ec60c976f talloc.[ch]: remove "type safety" hack that violates C types
The destructors used by talloc take a "void *" first parameter.
However talloc.h had a #define hack that treated the destructor as a
function taking first parameter of type "typeof(ptr)" where ptr is the
pointer the destructor is set for. I suppose this was done to add some
kind of "type safety" against adding a destructor expecting another
type of pointer; however this hack is questionable and violates the
real C level typing. Remove the hack from the header and adjust
talloc.c to avoid a warning about a C type violation that became
visible after removing the hack.
2011-08-19 03:01:16 +03:00
Uoti Urpala 6794bca0e9 build: add a hack to prevent name collision with libtalloc
libsmbclient uses dynamically linked libtalloc.so which has symbols
with names matching those in the internal talloc.c. This name
collision caused a crash under stream_smb when trying to play
anything with smb://. Add a "#pragma GCC visibility" hack to talloc.h
to hide the internal symbols from being visible to the outside
libtalloc.so. Hopefully this doesn't break any platform worse than
possibly causing a compiler warning about an unknown pragma (at least
GCC and clang recognize it).
2011-07-07 23:19:39 +03:00
Uoti Urpala 27a30e310e Add the talloc memory allocator
Copy talloc.c and talloc.h from Samba (last changed 2008-04-17 in
commit 7b9a647ebbbe9ec9e1b82b42e3a8916396f91273).
2008-04-23 13:41:06 +03:00