[mira_talk] Type mismatch of LexerInput and LexerOutput [PATCH]

  • From: Shaun Jackman <sjackman@xxxxxxxxx>
  • To: mira_talk <mira_talk@xxxxxxxxxxxxx>
  • Date: Mon, 22 Oct 2012 22:22:22 -0700

Hi,

When compiling MIRA on OS X 10.8, I get an error message that
LexerInput and LexerOutput do not match the declaration. The following
patch fixes this issue.

$ egrep 'LexerInput|LexerOutput' /usr/include/FlexLexer.h
   virtual size_t LexerInput( char* buf, size_t max_size );
   virtual void LexerOutput( const char* buf, size_t size );

Cheers,
Shaun

diff -ur a/src/EdIt/parameters_flexer.cc b/src/EdIt/parameters_flexer.cc
--- a/src/EdIt/parameters_flexer.cc    2012-08-29 10:33:02.000000000 -0700
+++ b/src/EdIt/parameters_flexer.cc    2012-10-22 10:58:26.000000000 -0700
@@ -1367,9 +1367,9 @@
}

#ifdef YY_INTERACTIVE
-int yyFlexLexer::LexerInput( char* buf, int /* max_size */ )
+size_t yyFlexLexer::LexerInput( char* buf, size_t /* max_size */ )
#else
-int yyFlexLexer::LexerInput( char* buf, int max_size )
+size_t yyFlexLexer::LexerInput( char* buf, size_t max_size )
#endif
{
   if ( yyin->eof() || yyin->fail() )
@@ -1396,7 +1396,7 @@
#endif
}

-void yyFlexLexer::LexerOutput( const char* buf, int size )
+void yyFlexLexer::LexerOutput( const char* buf, size_t size )
{
   (void) yyout->write( buf, size );
}
diff -ur a/src/caf/caf_flexer.cc b/src/caf/caf_flexer.cc
--- a/src/caf/caf_flexer.cc    2012-08-29 10:33:02.000000000 -0700
+++ b/src/caf/caf_flexer.cc    2012-10-22 10:58:58.000000000 -0700
@@ -2291,9 +2291,9 @@
}

#ifdef YY_INTERACTIVE
-int yyFlexLexer::LexerInput( char* buf, int /* max_size */ )
+size_t yyFlexLexer::LexerInput( char* buf, size_t /* max_size */ )
#else
-int yyFlexLexer::LexerInput( char* buf, int max_size )
+size_t yyFlexLexer::LexerInput( char* buf, size_t max_size )
#endif
{
   if ( yyin->eof() || yyin->fail() )
@@ -2320,7 +2320,7 @@
#endif
}

-void yyFlexLexer::LexerOutput( const char* buf, int size )
+void yyFlexLexer::LexerOutput( const char* buf, size_t size )
{
   (void) yyout->write( buf, size );
}
diff -ur a/src/io/exp_flexer.cc b/src/io/exp_flexer.cc
--- a/src/io/exp_flexer.cc    2012-08-29 10:33:01.000000000 -0700
+++ b/src/io/exp_flexer.cc    2012-10-22 10:55:35.000000000 -0700
@@ -1405,9 +1405,9 @@
}

#ifdef YY_INTERACTIVE
-int yyFlexLexer::LexerInput( char* buf, int /* max_size */ )
+size_t yyFlexLexer::LexerInput( char* buf, size_t /* max_size */ )
#else
-int yyFlexLexer::LexerInput( char* buf, int max_size )
+size_t yyFlexLexer::LexerInput( char* buf, size_t max_size )
#endif
{
   if ( yyin->eof() || yyin->fail() )
@@ -1434,7 +1434,7 @@
#endif
}

-void yyFlexLexer::LexerOutput( const char* buf, int size )
+void yyFlexLexer::LexerOutput( const char* buf, size_t size )
{
   (void) yyout->write( buf, size );
}
diff -ur a/src/mira/parameters_flexer.cc b/src/mira/parameters_flexer.cc
--- a/src/mira/parameters_flexer.cc    2012-08-29 10:33:02.000000000 -0700
+++ b/src/mira/parameters_flexer.cc    2012-10-22 10:57:50.000000000 -0700
@@ -7310,9 +7310,9 @@
}

#ifdef YY_INTERACTIVE
-int yyFlexLexer::LexerInput( char* buf, int /* max_size */ )
+size_t yyFlexLexer::LexerInput( char* buf, size_t /* max_size */ )
#else
-int yyFlexLexer::LexerInput( char* buf, int max_size )
+size_t yyFlexLexer::LexerInput( char* buf, size_t max_size )
#endif
{
   if ( yyin->eof() || yyin->fail() )
@@ -7339,7 +7339,7 @@
#endif
}

-void yyFlexLexer::LexerOutput( const char* buf, int size )
+void yyFlexLexer::LexerOutput( const char* buf, size_t size )
{
   (void) yyout->write( buf, size );
}

-- 
You have received this mail because you are subscribed to the mira_talk mailing 
list. For information on how to subscribe or unsubscribe, please visit 
http://www.chevreux.org/mira_mailinglists.html

Other related posts: