support _IONBF
free old buf
don't perform buffering on raw FILE*s.