Ah, I should have read further in the Java doc here, though, before posting. In particular, the last sentence of this paragraph: "If the length of b is zero, then no bytes are read and 0 is returned; otherwise, there is an attempt to read at least one byte. If no byte is available because the stream is at the end of the file, the value -1 is returned; otherwise, at least one byte is read and stored into b."
https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html#read-byte:A- If implementations actually follow that documentation, then it appears that a non-0 buffer size should never result in a return value of 0. Andy On Sun, Aug 25, 2019 at 9:54 PM Andy Fingerhut <andy.finger...@gmail.com> wrote: > That bit of Java-Doc says nothing about the behavior when providing a > buffer b with a non-0 length. > > If it said: "If the length of b is non-zero, then the return value will > never be 0", then I might agree with you. Also, if you knew for some > reason that the implementation guaranteed this. (I have not looked at the > implementation to know either way.) > > Andy > > On Sun, Aug 25, 2019 at 9:21 PM 'Dirk Wetzel' via Clojure < > clojure@googlegroups.com> wrote: > >> As alpeware already said, *.read* will not return [1024, 0, 1024, 201, >> -1] because it will not return a zero unless *buffer-size* is zero. >> This bit of the Java-Doc: If the length of b is zero, then no bytes are >> read and 0 is returned; >> >> So if the check is changed to (<= 0 size), passing a *buffer-size* of 0 >> (for whatever silly reason) would result in an infinite loop. >> While not my decision to make, I personally don't think that this would >> be desirable behaviour. >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clojure@googlegroups.com >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+unsubscr...@googlegroups.com >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+unsubscr...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/clojure/9deb8024-ce4b-4ef4-88d0-bbd817152ab6%40googlegroups.com >> <https://groups.google.com/d/msgid/clojure/9deb8024-ce4b-4ef4-88d0-bbd817152ab6%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/CAKvLtDYjqzJrwphmVJWachsZVwd__Y0vcpUwymQNBx64q%3DROVA%40mail.gmail.com.