Следующий шаг - избавиться от переменной buf.