> 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)
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour