add buf_put_string