summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY9
-rw-r--r--tools.h7
3 files changed, 14 insertions, 3 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 2e7bf8ae..c7f54d4c 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -3423,6 +3423,7 @@ Jasmin Jessich <jasmin@anw.at>
for writing the ddci2 plugin and for valuable input and help with testing and
debugging MTD support
for fixing selecting delivery system names in case of undefined indexes
+ for adding the macro VDR_NO_STL_PROTOTYPES to tools.h
Martin Schirrmacher <schirrmie@gmail.com>
for suggesting to provide a way for skin plugins to get informed about the currently
diff --git a/HISTORY b/HISTORY
index a38e941b..97e9ab16 100644
--- a/HISTORY
+++ b/HISTORY
@@ -8991,7 +8991,7 @@ Video Disk Recorder Revision History
current channel is listed.
- Fixed a possible crash when pulling the CAM while decrypting a channel with MTD.
-2017-05-20: Version 2.3.5
+2017-05-21: Version 2.3.5
- CAMs are now sent a generated EIT packet that contains a single 'present event' for
the current SID, in order to avoid any parental rating dialogs.
@@ -9035,3 +9035,10 @@ Video Disk Recorder Revision History
- No longer setting a new timer's remote host name if "SVDRP peering" is turned off.
- Fixed a double deletion of a cTimer in case HandleRemoteModifications() returned
false (thanks to Johann Friedrichs).
+- Added the macro VDR_NO_STL_PROTOTYPES to tools.h (thanks to Jasmin Jessich). For
+ some reason the STL developers decided to remove the macro __STL_CONFIG_H, so VDR
+ can no longer automatically determine whether an STL header file has been included.
+ If you use the STL and get error messages regarding template functions defined in
+ VDR's tools.h, you can insert
+ #define VDR_NO_STL_PROTOTYPES
+ before including tools.h.
diff --git a/tools.h b/tools.h
index 3bd7f9d2..5eec6753 100644
--- a/tools.h
+++ b/tools.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: tools.h 4.8 2017/05/09 08:37:23 kls Exp $
+ * $Id: tools.h 4.9 2017/05/21 09:33:12 kls Exp $
*/
#ifndef __TOOLS_H
@@ -51,7 +51,10 @@ template<class T> inline void DELETENULL(T *&p) { T *q = p; p = NULL; delete q;
#define CHECK(s) { if ((s) < 0) LOG_ERROR; } // used for 'ioctl()' calls
#define FATALERRNO (errno && errno != EAGAIN && errno != EINTR)
-#ifndef __STL_CONFIG_H // in case some plugin needs to use the STL
+#ifdef __STL_CONFIG_H // this used to work with older versions of STL, but they removed this macro in newer versions
+#define VDR_NO_STL_PROTOTYPES
+#endif
+#ifndef VDR_NO_STL_PROTOTYPES // in case some plugin needs to use the STL
template<class T> inline T min(T a, T b) { return a <= b ? a : b; }
template<class T> inline T max(T a, T b) { return a >= b ? a : b; }
template<class T> inline int sgn(T a) { return a < 0 ? -1 : a > 0 ? 1 : 0; }