<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>Yup, My apologies ... Poorly written from the beginning on my part!</span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><br><span></span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><span>The good news is SUCCESS!</span></div>Works good now.<br><br>Thanks<br><br>-Enjoy<br>fh  [color=#FF0000]:[/color] )_~<br><div><br></div>  <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <hr size="1">  <font face="Arial" size="2"> <b><span
 style="font-weight:bold;">From:</span></b> Tsuda Kageyu <tsuda.kageyu@gmail.com><br> <b><span style="font-weight: bold;">To:</span></b> Festus Hagen <festushagenlists@yahoo.com>; taglib-devel@kde.org <br> <b><span style="font-weight: bold;">Sent:</span></b> Saturday, June 1, 2013 2:43 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: API compatibility<br> </font> </div> <div class="y_msg_container"><br>
Oh! I missed your point. <br>Now, I see what you are saying. Certainly, the behavior of the fuction <br>has been changed. The check should be like this:<br><br>  if(offset + (patternLength - patterOffset) > size() || patternOffset ><br>= pattern.size() ||<br>    patternLength == 0)<br><br>I'll fix it soon. Thanks.<br><br>Kageyu.<br><br>>Yea, I agree the API may not be broke, I don't know what I was thinking when <br>>I used that for a title and what not ... To many hours in the seat!<br>><br>>However unless I'm wacky (and that is highly likely) there is a logic issue ...<br>><br>>Example:<br>>i=blah blah<br>>j=blah<br>><br>>Works: i->containsAt(j, 5, 0)<br>>Fails: i->containsAt(j, 6, 1)<br>>Works: i->containsAt(j, 6, 1, 3)<br>><br>><br>>-Enjoy<br>>fh [color=#FF0000]:[/color] )_~<br>><br>><br>> From: Tsuda Kageyu <<a ymailto="mailto:tsuda.kageyu@gmail.com"
 href="mailto:tsuda.kageyu@gmail.com">tsuda.kageyu@gmail.com</a>><br>>To: Festus Hagen <<a ymailto="mailto:festushagenlists@yahoo.com" href="mailto:festushagenlists@yahoo.com">festushagenlists@yahoo.com</a>>; <a ymailto="mailto:taglib-devel@kde.org" href="mailto:taglib-devel@kde.org">taglib-devel@kde.org</a><br>>Sent: Saturday, June 1, 2013 1:56 PM<br>>Subject: Re: API compatibility<br>><br>><br>>Hi fh.<br>><br>>The checks are equivalent in practice so it does not break the API.<br>><br>>Kageyu.<br>><br>>>Hi<br>>><br>>>In commit "Reduce unnecessary memory copies by ByteVector", in function<br>>>"containsAt(...)" there was a change made to the sanity checking.<br>>><br>>>Does this NOT break the API ?<br>>><br>>>The code ... (messed by yahoo)<br>>> // do some sanity checking -- all of these things are needed for the search<br>>>to be
 valid<br>>><br>>>- if(patternLength > size() || offset >= size() || patternOffset >= pattern.<br>>>size() || patternLength == 0)<br>>>+ if(offset + patternLength > size() || patternOffset >= pattern.size() ||<br>>>patternLength == 0)<br>>><br>>>-Enjoy<br>>>fh : )_~<br>>><br>>><br>>>-------------------------------text/plain-------------------------------<br>>>_______________________________________________<br>>>taglib-devel mailing list<br>>>[a:mailto:<a ymailto="mailto:taglib-devel@kde.org" href="mailto:taglib-devel@kde.org">taglib-devel@kde.org</a>]<a ymailto="mailto:taglib-devel@kde.org" href="mailto:taglib-devel@kde.org">taglib-devel@kde.org</a><br>>>[a:<a href="https://mail.kde.org/mailman/listinfo/taglib-devel" target="_blank">https://mail.kde.org/mailman/listinfo/taglib-devel</a>]<a href="https://mail.kde.org/"
 target="_blank">https://mail.kde.org/</a><br>>>mailman/listinfo/taglib-devel<br>>><br>>>-------------------------------text/plain-------------------------------<br>>>_______________________________________________<br>>>taglib-devel mailing list<br>>>[a:mailto:<a ymailto="mailto:taglib-devel@kde.org" href="mailto:taglib-devel@kde.org">taglib-devel@kde.org</a>]<a ymailto="mailto:taglib-devel@kde.org" href="mailto:taglib-devel@kde.org">taglib-devel@kde.org</a><br>>>[a:<a href="https://mail.kde.org/mailman/listinfo/taglib-devel" target="_blank">https://mail.kde.org/mailman/listinfo/taglib-devel</a>]<a href="https://mail.kde.org/" target="_blank">https://mail.kde.org/</a><br>>>mailman/listinfo/taglib-devel<br>><br>><br>>-------------------------------text/plain-------------------------------<br>>_______________________________________________<br>>taglib-devel mailing list<br>><a
 ymailto="mailto:taglib-devel@kde.org" href="mailto:taglib-devel@kde.org">taglib-devel@kde.org</a><br>><a href="https://mail.kde.org/mailman/listinfo/taglib-devel" target="_blank">https://mail.kde.org/mailman/listinfo/taglib-devel</a><br>><br>>-------------------------------text/plain-------------------------------<br>>_______________________________________________<br>>taglib-devel mailing list<br>><a ymailto="mailto:taglib-devel@kde.org" href="mailto:taglib-devel@kde.org">taglib-devel@kde.org</a><br>><a href="https://mail.kde.org/mailman/listinfo/taglib-devel" target="_blank">https://mail.kde.org/mailman/listinfo/taglib-devel</a><br><br><br></div> </div> </div>  </div></body></html>