Commit Briefs
fix pipe usage for linux
This uses the correct read and write ends of the fds returned by pipe(2) on linux. It also moves away from creating FILE* streams with fdopen and reading the stream with buf_load (which performs a fstat, and breaks due to a zero length file size on linux) by instead reading from the fd itself. Reported by abieber@, with assistance from stsp@ ok stsp@
fix buf_alloca error handling
Left-over from how OpenRCS/OpenCVS do error handling. OK stsp@
add O_CLOEXEC (close-on-exec) flag to open(2) calls
suggested by millert ok thomas_adam
got_error_from_errno -> got_error_prefix_errno
also add got_error_prefix_errno2 and got_error_prefix_errno3 which should hopefully all be merged into a single function with variadic args (but can't alloc mem)