<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/111151/">http://git.reviewboard.kde.org/r/111151/</a>
     </td>
    </tr>
   </table>
   <br />





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Hey Vlas,

speaking not as one of the developers but just as a user who ran into the same issue that this intends to solve I say thank you for looking into this.

I noticed a simple typo in miparser.h: "sended" should be "sent".

For the approach itself, I noticed two things to think about:

1. It would probably be cleaner and more efficient to use one single regexp that covers all the cases of the "Inferior process exited" message. Then you can also use rx.exactMatch() instead of tx.indexIn(), which should be both cleaner and faster as well.

2. Dealing with stream records (prefixed with ~) is already implemented in parseStreamRecords, and that takes care of some things that your manual approach does not. So perhaps it would be better to instead let parseStreamRecords do its usual thing, and then "filter" the resulting StreamRecord _after_ it has been completely parsed.

This would yield the same result with fewer "layering violations". At least, that's my outside observer's two cents.</pre>
 <br />









<p>- Nicolai</p>


<br />
<p>On June 20th, 2013, 3:55 p.m. UTC, Vlas Puhov wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDevelop.</div>
<div>By Vlas Puhov.</div>


<p style="color: grey;"><i>Updated June 20, 2013, 3:55 p.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">If commands like c, n, ni,si... were send directly to gdb, it may exit with message like "~\"[Inferior * (process *) exited *", but miparser treats it like usual message. </pre>
  </td>
 </tr>
</table>





<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>debuggers/gdb/mi/miparser.h <span style="color: grey">(7096af0)</span></li>

 <li>debuggers/gdb/mi/miparser.cpp <span style="color: grey">(a17e644)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/111151/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>








  </div>
 </body>
</html>