1)      Hi Kai, I wrote

   const_iterator BOOST_REGEX_CALL end()const

   {

      // JME 27/10/16 pour savoir si on passe là, je crée une division par 0 en

      // esperant que le compilateur ne la détecte pas

      int ijme1, ijme2;

      ijme2 = 1;

      ijme1 = 2;

      --ijme2;

      ijme1 = ijme1 / ijme2;

      return (!this->m_status ? 0 : this->m_expression + this->m_expression_len);

     // return (this->m_status ? 0 : this->m_expression + this->m_expression_len);  JME 26/10/16

   }

 

Hoping the divide by 0 error would be thrown but it never appears. So I don’t think this bug is annoying me.

 

2)      As I am new to boost and regex I tried a simple test :

      string pattern = "GHI+";

      string chaineatester = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

      boost::regex boost_pattern( pattern );

      boost::smatch  what;

      int errjme = boost::regex_match( chaineatester, what, boost_pattern );

      if (errjme == 1)

      {

            *outputLog << "test 1: GHI+ a été trouvé" << endl;

      }

      else

      {

            *outputLog << "test 1: GHI+ n'a pas été trouvé" << endl;

      // what[0] contains the whole string

      // what[1] contains the response code

      // what[2] contains the separator character

      // what[3] contains the text message.

            *outputLog << "  what[0]:" << what[0] << endl \

                  << "  what[1]:" << what[1] << endl \

                  << "  what[2]:" << what[2] << endl \

                  << "  what[3]:" << what[3] << endl;

      }

      string pattern2 = "GHI";

      boost::regex boost_pattern2( pattern2 );

      errjme = boost::regex_match( chaineatester, what, boost_pattern2 );

      if (errjme == 1)

      {

            *outputLog << "test 1bis: GHI a été trouvé" << endl;

      }

      else

      {

            *outputLog << "test 1bis: GHI n'a pas été trouvé" << endl;

            *outputLog << "  what[0]:" << what[0] << endl \

                  << "  what[1]:" << what[1] << endl \

                  << "  what[2]:" << what[2] << endl \

                  << "  what[3]:" << what[3] << endl;

      }

 

                And here is what I get :

 

test 1: GHI+ n'a pas été trouvé

  what[0]:

  what[1]:

  what[2]:

  what[3]:

test 1bis: GHI n'a pas été trouvé

  what[0]:

  what[1]:

  what[2]:

  what[3]:

 

What am I doing wrong ?

 

Jean