Possibly not easy to tell at that point if it is a file or network descriptor and the worst case is an additional read that returns EOF on an empty file?
> On Jul 7, 2016, at 4:06 PM, Alexander Ilin <ajs...@yandex.ru> wrote: > > Hello, John! > > TCP/UDP streams are not seekable, so it should return f, and it does. Why > does it not return 0 for seekable empty (file) streams? > > A bigger quote from the documentation: > > Word description > Returns the length of the data supplied by stream, or f if the stream is not > seekable or has unknown length. > > Notes > Stream seeking is not supported on streams that do not have a known length, > e.g. TCP/IP streams. > > 08.07.2016, 00:42, "John Benediktsson" <mrj...@gmail.com>: >> For tcp/udp file descriptors, they can return 0 length sometimes and we want >> to then return `f` so we read to EOF. >> >>> On Jul 7, 2016, at 2:26 PM, Alexander Ilin <ajs...@yandex.ru> wrote: >>> >>> Hello! >>> >>> OK, ignore that last message, I can see now that it works. >>> >>> Another question, though. This one is about io.ports: >>> >>> M: buffered-port stream-length >>> handle>> handle-length [ f ] when-zero ; >>> >>> Why does it never return 0? For instance, what if I open an empty file for >>> reading, I'd expect it to return 0, and "f" only for streams that are not >>> seekable. >>> >>> { 0 } >>> [ >>> "empty.txt" binary [ input-stream get stream-length ] with-file-reader >>> ] unit-test >>> >>> From the documentation on stream-length: >>> Word description >>> Returns the length of the data supplied by stream, or f if the stream is >>> not seekable or has unknown length. >>> >>> Why not return 0 so that I could test that with if-zero? > > ---=====--- > Александр > > ------------------------------------------------------------------------------ > Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San > Francisco, CA to explore cutting-edge tech and listen to tech luminaries > present their vision of the future. This family event has something for > everyone, including kids. Get more information and register today. > http://sdm.link/attshape > _______________________________________________ > Factor-talk mailing list > Factor-talk@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/factor-talk ------------------------------------------------------------------------------ Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape _______________________________________________ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk