Needed to do a little modifications based on which
C compiler we're using.
Pulling out one of the implementations for
reading from a pipe so it can be templated.