Isn't that basically the same thing?  Doesn't the outbuf essentially do this internally?  For code like this that is run only once per program, I would think clarity is more important, and the code is dead simple.

I'll change it if you feel strongly about it, let me know.