If
ge
and ge | cat
truly cause different output to appear then it seems your ge
generates different output, depending on if it's writing to a terminal or to a pipe. I found this question: msvc compiled programs output differently under cygwin tty. Relevant?