O seek(0, 0, 2)
pulará todos os dados que são armazenados em buffer para o descritor de arquivo 0. Assim, após este comando, a próxima leitura desse filedcriptor não lerá nada que tenha sido armazenado em buffer.
Eu acho que se você examinar o código e entender qual é o propósito real, você entenderá que, embora o descritor de arquivo 0 seja normalmente stdin, este programa é realmente útil somente se for parte de um script que é lido através desse descritor de arquivo.
Por exemplo, dê uma olhada no seguinte script:
goto
echo "hello"
O goto
sem nenhum argumento acionará a busca.
Sem o seek(0, 0, 2)
após a saída do comando goto
, o script ainda executaria o comando echo "hello"
porque o chamador do comando goto
simplesmente lerá o próximo comando do script.