<br><br><div class="gmail_quote">On Sun, Apr 14, 2013 at 12:35 PM, Petri Hintukainen <span dir="ltr"><<a href="mailto:phintuka@users.sourceforge.net" target="_blank">phintuka@users.sourceforge.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On pe, 2013-04-12 at 00:26 +0200, Joakim Plate wrote:<br></div></blockquote><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"></div>
I think this API is not well designed. At least it should be<br>
documented...<br>
<br>
Negative values are not needed and shouldn't be allowed at all:<br>
  1) It does not make any sense to read/write zero or negative<br>
     amount of bytes.<br>
  2) If request size is unsigned also result must be unsigned<br>
     (range of result type can't be smaller than range of<br>
     request type)<br>
  3) Returning anything else than requested already indicates<br>
     failure (EOF or error). There's no need for any special<br>
     error code.<br></blockquote><div><br></div><div>I think it's a normal api of the read() function. Negative on error and can return less than requested. The fread api requires the feof() and ferror() functions to signify if it was a normal EOF or an error that occured, to me that is silly to require those addition to know if it was an error or not.</div>
</div>