> In *nixes we can check if output is TTY device.
> If not then we it's redirected to sth else, i.e. pipe, file, socket.
> In filesys.c hb_fsIsDevice() function can be used for it and in *nixes
> it will work as we want but I do not know how it will work in MS-Windows
> with different shells (i.e. CMD.EXE and MSys) for different redirecting
> types (pipe (|) or file (>)).
> We should make some tests. Also in OS/2 for GCC and OpenWatcom builds.
> This code can be used for tests:
> 
>   proc main()
>   ? "0:", HB_FISDEVICE( 0 )
>   ? "1:", HB_FISDEVICE( 1 )
>   ? "2:", HB_FISDEVICE( 2 )
>   return
>   #pragma begindump
>   #include "hbapifs.h"
>   HB_FUNC( HB_FISDEVICE )
>   {
>      hb_retl( hb_fsIsDevice( hb_numToHandle( hb_parnint( 1 ) ) ) );
>   }
>   #pragma enddump

Looks good on win, I'm getting .F. on 1 and 2 if I 
redirect output to a file.

>>> If you can also replace all hb_osNewLine() used in output with some macro
>>> like:
>>>  #define OUT_EOL      hb_osNewLine()
>>> then later we can easy switch to OS level EOL translation by adding:
>>>  hb_osTextOutputMode( .T. ) // or any other name you may suggest
>> How about this:
>>   hb_osOutputMode( FD_TEXT )
>> Or:
>>   hb_osOutputTextMode( .T. )
> 
> Oops. I've forgot that FD_* constants are in .ch file for CL53 FSETDEVMOD()
> functions so we already have everything in core code so please simply add:
>   FSETDEVMOD( 1, FD_TEXT )
>   FSETDEVMOD( 2, FD_TEXT )
> or if you want to make it in more generic way which will work also for
> multi GT output (i.e. with some code which allocates many different GTCGI
> drivers with different redirection) then make:
>   FSETDEVMOD( hb_gtInfo( HB_GTI_OUTPUTFD ), FD_TEXT )
>   FSETDEVMOD( hb_gtInfo( HB_GTI_ERRORFD ), FD_TEXT )

Will commit it ASAP, I hope Maurilio can test it then.

>>> and changing this macro to:
>>>  #define OUT_EOL      Chr( 10 )
>>> what will resolve the stairs effect problem in output from embedded
>>> Harbour compiler.
>> That's okay, I'll change it when the core function 
>> is in place.
> 
> Thank you very much.

You're welcome.

Brgds,
Viktor

_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to