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?
> 
> 07.07.2016, 23:55, "Alexander Ilin" <ajs...@yandex.ru>:
>> Hello!
>> 
>>   I'm deep in debugging, so just a quick note/question: does the following 
>> word work?
>> 
>> M: windows can-seek-handle? ( handle -- ? )
>>     handle>> handle>file-size >boolean ;
>> 
>>   given that handle>file-size is implemented a few lines above as follows 
>> (the comment is in the code as well):
>> 
>> ! GetFileSizeEx errors with ERROR_INVALID_FUNCTION if handle is not seekable
>> : handle>file-size ( handle -- n/f )
>>     (handle>file-size) [
>>         GetLastError ERROR_INVALID_FUNCTION =
>>         [ f ] [ throw-win32-error ] if
>>     ] unless* ;
>> 
>> ---=====---
>>  Александр
>> 
>> ------------------------------------------------------------------------------
>> 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

------------------------------------------------------------------------------
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

Reply via email to