[Harbour-users] OutStd() Pipe Question

harbour-users at harbour-project.org harbour-users at harbour-project.org
Fri Dec 5 20:12:54 EST 2008


Clipper Fans,

Is there any special compile/link flags one needs to use or 
commands/functions one needs to call within a program who's output is 
intended to be piped to another program?  I'm experiencing some odd 
behavior trying to pipe program output to less, grep, etc.  For example, 
with the following program:

Function Main()

Local i

For i = 1 to 500
     OutStd("Line:  ", str(i), HB_OSNewLine()) 
Next

Return

If I compile/link with hbcmp/hblnk then run the program on a Gentoo Linux 
box and pipe it's output to less, it displays one screen full of the 
output and less exits.  With my current rxvt-unicode font settings it's 
displaying the first 35 lines of output.  On FreeBSD it displays the same 
number of lines, but with a stair-step effect.  I also tried the same 
program on the Gentoo box on a virtual console.  It also displayed one 
screen full of output, in that case through line 24, then less exited. 
With other programs I'm seeing similar strangeness such as only displaying 
half a screen worth of the output in some cases.  In other cases the 
output looks normal and less works correctly until I page all the way down 
to the last line of output then less stops interpreting the cursor 
movement keys correctly.



P.S.  Is there a problem with this mailing list's settings?  All messages 
from the list have Harbour-Users at Harbour-Project.org in their From header 
instead of the original poster's address.



Kevin
http://www.RawFedDogs.net
http://www.WacoAgilityGroup.org
Bruceville, TX

Si hoc legere scis nimium eruditionis habes.
Longum iter est per praecepta, breve et efficax per exempla!!!



More information about the Harbour-users mailing list