#! /bin/sh /usr/share/dpatch/dpatch-run

## 02_gcc3.4-fix.dpatch by Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fix from Andreas Jochens <aj@andaco.de>, to compile the plugin
## DP: with gcc-3.4

@DPATCH@
diff -urNad /home/chelli/vdr/cvs/vdr/vdr-plugin-freecell/tools/list.h vdr-plugin-freecell/tools/list.h
--- /home/chelli/vdr/cvs/vdr/vdr-plugin-freecell/tools/list.h	2004-02-11 13:33:26.000000000 +0100
+++ vdr-plugin-freecell/tools/list.h	2004-09-11 16:00:20.000000000 +0200
@@ -90,22 +90,22 @@
 	T &SetNextCurrent  ();
 	T &SetPrevCurrent  ();
 
-	friend cTBList<T> &operator+= <> (cTBList<T> &list1, const cTBList<T> &list2);
-	friend cTBList<T> &operator+= <> (cTBList<T> &list, const T &element);
+//	friend cTBList<T> &operator+= <> (cTBList<T> &list1, const cTBList<T> &list2);
+//	friend cTBList<T> &operator+= <> (cTBList<T> &list, const T &element);
 
-	friend cTBList<T> operator+ <> (const cTBList<T> &list1, const cTBList<T> &list2);
-	friend cTBList<T> operator+ <> (const T &element, const cTBList<T> &list);
-	friend cTBList<T> operator+ <> (const cTBList<T> &list, const T &element);
+//	friend cTBList<T> operator+ <> (const cTBList<T> &list1, const cTBList<T> &list2);
+//	friend cTBList<T> operator+ <> (const T &element, const cTBList<T> &list);
+//	friend cTBList<T> operator+ <> (const cTBList<T> &list, const T &element);
 
 	/*friend cSource &operator<< <> (cSource &dest, const cTBList<T> &list);
-	friend cSource &operator>> <> (cSource &dest, cTBList<T> &list);*/
+//	friend cSource &operator>> <> (cSource &dest, cTBList<T> &list);*/
 };
 
 // Template Implementation (inline funcs)
 
 template<class T>
 inline int cTBList<T>::Find (const T & i) {
-	cTBList<T>::cItem *item = m_First;
+	typename cTBList<T>::cItem *item = m_First;
 	int index = 0;
 
 	while (item && (item->Data != i)) {
@@ -203,7 +203,7 @@
 
 template<class T>
 typename cTBList<T>::cItem *cTBList<T>::NewItem (cTBList<T>::cItem *pBefore, cTBList<T>::cItem *pAfter) const {
-	cTBList<T>::cItem *item = new cTBList<T>::cItem;
+	typename cTBList<T>::cItem *item = new typename cTBList<T>::cItem;
 
 	item->Next = pAfter;
 	item->Prev = pBefore;
@@ -235,7 +235,7 @@
 	if ((int)idx == m_CurPos)
 		return m_Current;
 
-	cTBList<T>::cItem *item;
+	typename cTBList<T>::cItem *item;
 	int dist = idx - m_CurPos;
 	bool direct;
 
@@ -271,7 +271,7 @@
 
 template<class T>
 T &cTBList<T>::Prepend () {
-	cTBList<T>::cItem *item = NewItem(NULL, m_First);
+	typename cTBList<T>::cItem *item = NewItem(NULL, m_First);
 
 	m_First = m_Current = item;
 	if (!m_Last)
@@ -285,7 +285,7 @@
 
 template<class T>
 T &cTBList<T>::Append () {
-	cTBList<T>::cItem *item = NewItem(m_Last, NULL);
+	typename cTBList<T>::cItem *item = NewItem(m_Last, NULL);
 
 	m_Last = m_Current = item;
 	if (!m_First)
@@ -317,13 +317,13 @@
 		return true;
 	}
 
-	cTBList<T>::cItem *nextItem = Locate(idx);
+	typename cTBList<T>::cItem *nextItem = Locate(idx);
 	if (!nextItem)
 		return false;
 
-	cTBList<T>::cItem *prevItem = nextItem->Prev;
+	typename cTBList<T>::cItem *prevItem = nextItem->Prev;
 
-	cTBList<T>::cItem *item = NewItem(prevItem, nextItem);
+	typename cTBList<T>::cItem *item = NewItem(prevItem, nextItem);
 	item->Data = i;
 
 	m_CurPos = idx;
@@ -338,7 +338,7 @@
 	if (!m_Current)
 		return NULL;
 
-	cTBList<T>::cItem *item = m_Current;
+	typename cTBList<T>::cItem *item = m_Current;
 	if (item == m_First) {
 		if (m_First = item->Next)
 			m_First->Prev = NULL;
@@ -370,7 +370,7 @@
 		if (Find(i) == -1)
 			return false;
 
-	cTBList<T>::cItem *item = Unlink();
+	typename cTBList<T>::cItem *item = Unlink();
 	if (!item)
 		return false;
 
@@ -383,7 +383,7 @@
 	if (!Locate(idx))
 		return false;
 
-	cTBList<T>::cItem *item = Unlink();
+	typename cTBList<T>::cItem *item = Unlink();
 	if (!item)
 		return false;
 
@@ -412,13 +412,13 @@
 
 template<class T>
 void cTBList<T>::Clear () {
-	cTBList<T>::cItem *item = m_First;
+	typename cTBList<T>::cItem *item = m_First;
 
 	m_First = m_Last = m_Current = NULL;
 	m_Count = 0;
 	m_CurPos = -1;
 
-	cTBList<T>::cItem *Prev;
+	typename cTBList<T>::cItem *Prev;
 	while (item) {
 		Prev = item;
 		item = item->Next;
