Control: tags -1 patch

* Andreas Bauer <baue...@gmail.com> [2016-02-29 16:52 +0100]:

> Hi Elimar, Michael,
> 
> just letting you know that in SVN is a release candidate of 0.8.4 of
> mailfilter, which hopefully fixes the issue.  It's a bit ugly, hence I
> want to keep testing it for a while, before I release - say, 1 or 2
> weeks.
> 
> Hope it will still be able to keep the package in Debian this way.  If
> either of you is curious, you could grab it from SVN and rebuild, etc.
> 
>   https://sourceforge.net/p/mailfilter/code/HEAD/tree/

I have cherry picked the respective patch and can confirm that
mailfilter builds fine on i386, ppc32 and amd64. I've build my own
package with the patch attached for testing.

Thanks Andreas for contribution ;-)

Elimar
-- 
  Numeric stability is probably not all that
  important when you're guessing;-)
Author: Andreas Bauer <baue...@gmail.com, Elimar Riesebieter <riese...@lxtec.de>
Subject: Fix compilation issues stemming from flex >= 2.6.0, which no longer
         uses pointers for yyin, but references it seems.
Last-Update: 2016-03-02
Index: mailfilter-0.8.3/ChangeLog
===================================================================
--- mailfilter-0.8.3.orig/ChangeLog
+++ mailfilter-0.8.3/ChangeLog
@@ -1,6 +1,13 @@
 Mailfilter ChangeLog
 -=-=-=-=-=-=-=-=-=-=
 
+Mon Feb 29 16:44:08 CET 2016 baueran
+
+- src/rcfile.ll: yyin is now a reference. So use different ifstream
+                 pointer and pass it on.
+- src/pop3.cc: FlexLexer::switch_stream no longer has 2nd argument
+               optional, it seems.  So pass NULL as second object.
+
 Sat May 17 19:21:57 CEST 2014 baueran
 
  src/preferences.cc:
Index: mailfilter-0.8.3/configure.ac
===================================================================
--- mailfilter-0.8.3.orig/configure.ac
+++ mailfilter-0.8.3/configure.ac
@@ -26,7 +26,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.54)
-AC_INIT(mailfilter, 0.8.3, [baue...@gmail.com])
+AC_INIT(mailfilter, 0.8.4, [baue...@gmail.com])
 AC_REVISION($Revision: 1.1.2.4.2.12 $)
 AC_SUBST(PACKAGE_COPYRIGHT)
 AC_DEFINE(PACKAGE_COPYRIGHT,
Index: mailfilter-0.8.3/NEWS
===================================================================
--- mailfilter-0.8.3.orig/NEWS
+++ mailfilter-0.8.3/NEWS
@@ -1,6 +1,13 @@
 Mailfilter NEWS (Summary)
 -=-=-=-=-=-=-=-=-=-=-=-=-
 
+mailfilter 0.8.4 (under development)
+
+  - Fix compilation issues stemming from flex >= 2.6.0, which no
+    longer uses pointers for yyin, but references it seems.
+
+  - Minor other code fixes that relate to the above.
+
 mailfilter 0.8.3 (Sat May 17 19:37:27 CEST 2014)
 
   - (Hopefully) fixed Debian Bug #716522: mailfilter crashes
Index: mailfilter-0.8.3/src/pop3.cc
===================================================================
--- mailfilter-0.8.3.orig/src/pop3.cc
+++ mailfilter-0.8.3/src/pop3.cc
@@ -204,7 +204,7 @@ int POP3 :: invoke_msg_parser (const str
 	  stringstream cur_header;
 	  cur_header << *header;
 	  rfclexer = new rfcFlexLexer;
-	  rfclexer->switch_streams (&cur_header);
+	  rfclexer->switch_streams (&cur_header, NULL);
 	  int error = rfcparse ((void*) msg_header);
 	  delete rfclexer;
 	  return error;
Index: mailfilter-0.8.3/src/rcfile.ll
===================================================================
--- mailfilter-0.8.3.orig/src/rcfile.ll
+++ mailfilter-0.8.3/src/rcfile.ll
@@ -146,17 +146,21 @@ CTRL_CHAR	.
 	   cerr << yytext << "' could not be found." << endl;
 	   exit (-1);
         }
+
+	// yyin is now a std::istream& it seems. So the following no longer works:
+	// yyin = new ifstream (sub_file.c_str ());
+	std::ifstream* infile = new ifstream (sub_file.c_str ());
 
-        yyin = new ifstream (sub_file.c_str ());
-
-        if (!((ifstream*) yyin)->is_open ())
+	// if (!((std::ifstream*) yyin)->is_open ())
+        if (!infile->is_open ())
         {
            cerr << PACKAGE_NAME << ": Error: Nested rcfile '";
 	   cerr << sub_file << "' could not be opened." << endl;
 	   exit (-1);
         }
 
-        yy_switch_to_buffer (yy_create_buffer (yyin, YY_BUF_SIZE));
+        yy_switch_to_buffer (yy_create_buffer (infile, YY_BUF_SIZE));
+	// yy_switch_to_buffer (yy_create_buffer (yyin, YY_BUF_SIZE));
      }
      catch (...)
      {

Attachment: signature.asc
Description: PGP signature

Reply via email to