summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2017-05-08 13:11:46 +0200
committerwm4 <wm4@nowhere>2017-05-08 13:11:46 +0200
commitc64d40bad765d120907e24d9f5e8056f720dbd8c (patch)
tree31423da769fd4fb491c6ae6d529721c62666ab34
parent7eccb62f85f89213953204ce0523fdcd7ffb560e (diff)
downloadmpv-c64d40bad765d120907e24d9f5e8056f720dbd8c.tar.bz2
mpv-c64d40bad765d120907e24d9f5e8056f720dbd8c.tar.xz
osdep/compiler.h: change license to LGPL
This didn't have a header and this was implied LGPL, but this was not entirely correct. It turns out the printf attribute code was leaked in from talloc, which is "LGPL v3 or later". talloc was added to the mplayer2 code base in 27a30e310e1. This remaining code was an oversight. Since we want to reduce LGPL v3 code, replace this code with the one from ta/ta.h. This code was explicitly written newly to get rid of talloc and its license in 0933f12d28e.
-rw-r--r--Copyright2
-rw-r--r--osdep/compiler.h22
2 files changed, 9 insertions, 15 deletions
diff --git a/Copyright b/Copyright
index b03b4b9018..73784750b5 100644
--- a/Copyright
+++ b/Copyright
@@ -157,7 +157,7 @@ LGPL relicensing status:
osdep/android/* LGPL (BSD)
osdep/ar/* LGPL (BSD)
osdep/atomic.h LGPL
- osdep/compiler.h easy
+ osdep/compiler.h LGPL
osdep/endian.h easy
osdep/glob-win.c LGPL
osdep/io.* LGPL
diff --git a/osdep/compiler.h b/osdep/compiler.h
index 0edea7de4a..d25f0cd1e4 100644
--- a/osdep/compiler.h
+++ b/osdep/compiler.h
@@ -4,24 +4,18 @@
#define MP_EXPAND_ARGS(...) __VA_ARGS__
#ifdef __GNUC__
-
+#define PRINTF_ATTRIBUTE(a1, a2) __attribute__ ((format(printf, a1, a2)))
#define MP_NORETURN __attribute__((noreturn))
-
-/** Use gcc attribute to check printf fns. a1 is the 1-based index of
- * the parameter containing the format, and a2 the index of the first
- * argument. **/
-#if defined(__MINGW32__) && !defined(__clang__)
-// MinGW maps "printf" to the non-standard MSVCRT functions, even if
-// __USE_MINGW_ANSI_STDIO is defined and set to 1. We need to use "gnu_printf",
-// which isn't necessarily available on other GCC compatible compilers.
-#define PRINTF_ATTRIBUTE(a1, a2) __attribute__ ((format (gnu_printf, a1, a2)))
-#else
-#define PRINTF_ATTRIBUTE(a1, a2) __attribute__ ((format (printf, a1, a2)))
-#endif
-
#else
#define PRINTF_ATTRIBUTE(a1, a2)
#define MP_NORETURN
#endif
+// Broken crap with __USE_MINGW_ANSI_STDIO
+#if defined(__MINGW32__) && defined(__GNUC__) && !defined(__clang__)
+#undef PRINTF_ATTRIBUTE
+#define PRINTF_ATTRIBUTE(a1, a2) __attribute__ ((format (gnu_printf, a1, a2)))
+#endif
+
+
#endif