On 02.03.2017 13:39, Martin Gansser wrote:
Thanks for your patch, but then there are further error messages:
g++ -O3 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -fPIC -Werror=overloaded-virtual -Wno-parentheses -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fPIC -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DREMOTE_KBD -DVDR_USER="vdr" -DSDNOTIFY -DLIRC_DEVICE="/var/run/lirc/lircd" -DVIDEODIR="/var/lib/vdr/video" -DCONFDIR="/etc/vdr" -DARGSDIR="/etc/vdr/conf.d" -DCACHEDIR="/var/cache/vdr" -DRESDIR="/usr/share/vdr" -DPLUGINDIR="/usr/lib64/vdr" -DLOCDIR="/usr/share/locale" -I/usr/include/freetype2 -I/usr/include/libpng16 -o osdbase.o osdbase.c osdbase.c: In member function 'eOSState cOsdMenu::HotKey(eKeys)': osdbase.c:513:38: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] if (s && (s = skipspace(s)) != '\0' && '0' <= s[i] && s[i] <= '9') { ^~~~ make: *** [Makefile:126: osdbase.o] Error 1
I fixed this with this patch:
--- a/osdbase.c.orig 2017-02-15 15:55:34.555128665 +0100 +++ b/osdbase.c 2017-02-15 15:56:30.898068614 +0100 @@ -510,7 +510,7 @@ const char *s = item->Text(); i = 0; item_nr = 0;
if (s && (s = skipspace(s)) != '\0' && '0' <= s[i] && s[i] <= '9') {
if (s && (s = skipspace(s)) != NULL && '0' <= s[i] && s[i] <= '9') { do { item_nr = item_nr * 10 + (s[i] - '0'); }
it compiles fine, but I am not shure if this is correct ?
From the code itself your patch appears to be correct. However, this is not part of plain vanilla VDR. Must have been introduced by some other patch...
Klaus