On Mon, Oct 08, 2007 at 10:26:21PM +0300, Tommi Raulahti wrote:
> Decided to make a test drive with 3.6 .. but... as usual, everything
> doesn't go as planned...
>
> cxx: Error: FileSet.cc, line 279: no operator "->*" matches these
> operands
>
> OS: OSF/1 5.1
> Compiler: cc & cxx
Please try this patch.
> This is something gcc compiles just fine?
Yes.
--
Alexander.
Index: FileSet.cc
===================================================================
RCS file: /home/lav/cvsroot/lftp/src/FileSet.cc,v
retrieving revision 1.60
diff -u -p -r1.60 FileSet.cc
--- FileSet.cc 10 Sep 2007 10:00:05 -0000 1.60
+++ FileSet.cc 9 Oct 2007 10:13:53 -0000
@@ -276,7 +276,7 @@ void FileSet::SubtractTimeCmp(bool (File
if(files[i]->defined&FileInfo::TYPE
&& files[i]->filetype!=FileInfo::NORMAL)
continue;
- if((files[i]->*cmp)(t))
+ if((files[i].get()->*cmp)(t))
{
Sub(i);
i--;
Index: Ref.h
===================================================================
RCS file: /home/lav/cvsroot/lftp/src/Ref.h,v
retrieving revision 1.6
diff -u -p -r1.6 Ref.h
--- Ref.h 10 Sep 2007 10:32:51 -0000 1.6
+++ Ref.h 9 Oct 2007 10:14:42 -0000
@@ -39,6 +39,7 @@ public:
operator const T*() const { return ptr; }
T *operator->() const { return ptr; }
T *borrow() { return replace_value(ptr,(T*)0); }
+ const T *get() const { return ptr; }
T *get_non_const() const { return ptr; }
template<class C> const Ref<C>& Cast() const