Declarações de variáveis C após o cabeçalho da função na definição [duplicado]

Esta pergunta já tem uma resposta aqui:

Qual é essa sintaxe de definição de função estranha em C? [duplicado] 6 respostas

Ao ler algum código fonte do FreeBSD (Veja:radix.h linhas 158-173), encontrei declarações de variáveis que seguiam o "cabeçalho da função" na definição.

Isso é válido na ISO C (C99)? quando isso deve ser feito no código de produção, em vez de apenas declarar as variáveis no "cabeçalho da função?" Por que isso está sendo feito aqui?

Refiro-me à função encabeçando a string que se parece com isso:int someFunction(int i, int b) {

questionAnswers(3)

yourAnswerToTheQuestion