From 82813f48c4f95d8cedbd2add70baf7962aad2ca1 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 21 May 2017 09:37:45 +0200 Subject: [PATCH] Added the macro VDR_NO_STL_PROTOTYPES to tools.h --- CONTRIBUTORS | 1 + HISTORY | 9 ++++++++- tools.h | 7 +++++-- 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 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 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 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 inline T min(T a, T b) { return a <= b ? a : b; } template inline T max(T a, T b) { return a >= b ? a : b; } template inline int sgn(T a) { return a < 0 ? -1 : a > 0 ? 1 : 0; }