Save a another 200 bytes of code space.

should we control buflen?