<div dir="ltr">Data.size() is unsigned type.  negative will overflow, so the comparison will never be true.  Maybe I don't follow what you guys are seeing.  Anyway, if you attempt to write 0 bytes, I think it should succeed.  So the early return still looks fine to me, regardless of what it was doing before.</div><br><div class="gmail_quote"><div dir="ltr">On Mon, Nov 14, 2016 at 2:40 PM Vitaly Buka <<a href="mailto:vitalybuka@google.com">vitalybuka@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">vitalybuka added a comment.<br class="gmail_msg">
<br class="gmail_msg">
Majnemer, You are right<br class="gmail_msg">
// here if Buffer is empty:<br class="gmail_msg">
if (Offset > - Data.size())<br class="gmail_msg">
<br class="gmail_msg">
  return make_error<MSFError>(msf_error_code::insufficient_buffer);<br class="gmail_msg">
<br class="gmail_msg">
so it's essentially if (Offset >0 || Data.size() >0 )<br class="gmail_msg">
<br class="gmail_msg">
I should submit the first patch which I've changed in the last moment for "early return" :-)<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
Repository:<br class="gmail_msg">
  rL LLVM<br class="gmail_msg">
<br class="gmail_msg">
<a href="https://reviews.llvm.org/D26638" rel="noreferrer" class="gmail_msg" target="_blank">https://reviews.llvm.org/D26638</a><br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
</blockquote></div>