diff -uprN vdr-1.2.6.orig/config.h vdr-1.2.6/config.h
--- vdr-1.2.6.orig/config.h	2005-03-19 18:34:22.799245568 +0100
+++ vdr-1.2.6/config.h	2005-03-19 18:34:27.120588624 +0100
@@ -137,7 +137,7 @@ public:
   bool Save(void)
   {
     bool result = true;
-    T *l = (T *)First();
+    T *l = (T *)cList<T>::First();
     cSafeFile f(fileName);
     if (f.Open()) {
        while (l) {
diff -uprN vdr-1.2.6.orig/Makefile vdr-1.2.6/Makefile
--- vdr-1.2.6.orig/Makefile	2005-03-19 18:34:22.796246024 +0100
+++ vdr-1.2.6/Makefile	2005-03-19 18:52:32.140640504 +0100
@@ -16,8 +16,8 @@ CXXFLAGS ?= -g -O2 -Wall -Woverloaded-vi
 
 DVBDIR   = ../DVB
 DTVDIR   = ./libdtv
-MANDIR   = /usr/local/man
-BINDIR   = /usr/local/bin
+MANDIR   = /usr/man
+BINDIR   = /usr/bin
 
 PLUGINDIR= ./PLUGINS
 PLUGINLIBDIR= $(PLUGINDIR)/lib
@@ -121,12 +121,15 @@ plugins-clean:
 # Install the files:
 
 install:
-	@cp vdr runvdr $(BINDIR)
-	@gzip -c vdr.1 > $(MANDIR)/man1/vdr.1.gz
-	@gzip -c vdr.5 > $(MANDIR)/man5/vdr.5.gz
+	@mkdir -p $(DESTDIR)$(BINDIR)
+	@cp vdr runvdr $(DESTDIR)$(BINDIR)
+	@mkdir -p $(DESTDIR)$(MANDIR)/man1
+	@mkdir -p $(DESTDIR)$(MANDIR)/man5
+	@gzip -c vdr.1 > $(DESTDIR)$(MANDIR)/man1/vdr.1.gz
+	@gzip -c vdr.5 > $(DESTDIR)$(MANDIR)/man5/vdr.5.gz
 	@if [ ! -d $(VIDEODIR) ]; then\
-            mkdir $(VIDEODIR);\
-            cp *.conf $(VIDEODIR);\
+            mkdir -p $(DESTDIR)$(VIDEODIR);\
+            cp *.conf $(DESTDIR)$(VIDEODIR);\
             fi
 
 # Source documentation:
diff -uprN vdr-1.2.6.orig/plugin.c vdr-1.2.6/plugin.c
--- vdr-1.2.6.orig/plugin.c	2005-03-19 18:34:22.810243896 +0100
+++ vdr-1.2.6/plugin.c	2005-03-19 18:34:27.120588624 +0100
@@ -162,7 +162,7 @@ bool cDll::Load(bool Log)
   const char *error = dlerror();
   if (!error) {
      void *(*creator)(void);
-     (void *)creator = dlsym(handle, "VDRPluginCreator");
+     creator = (void *(*)())dlsym(handle, "VDRPluginCreator");
      if (!(error = dlerror()))
         plugin = (cPlugin *)creator();
      }