jump through some hoops to shrink char_buffer down to 4 (the smallest # that matters) when possible, which is pretty often really