por que a página de manual C readdir diz para não ligar livremente no resultado estático alocado struct

$ uname -a

Linux crowsnest 2.6.32-28-generic #55-Ubuntu SMP Mon Jan 10 23:42:43 UTC 2011 x86_64 GNU/Linux

$ man readdir:

DESCRIÇÃ

A função readdir () retorna um ponteiro para uma estrutura dirent representando a próxima entrada de diretório no fluxo de diretórios apontada por dirp ...

..[recorte]..

A função readdir_r () é uma versão reentrante do readdir () ...

...[recorte]..

VALOR DE RETORN

Em caso de sucesso, readdir () retorna um ponteiro para uma estrutura dirent. (Essa estrutura pode ser alocada estaticamente; não tente liberá-la (3).) Se o final do fluxo do diretório for atingido, NULL será retornado e errno não será alterado. Se ocorrer um erro, NULL é retornado e errno, é definido adequadament

A função readdir_r () retorna 0 em caso de sucesso. Em caso de erro, ele retorna um número de erro positivo. Se o final do fluxo do diretório for atingido, readdir_r () retornará 0 e retornará NULL em * result.

Estou confuso sobre o que isso significa, minha aplicação dessa função é coletar uma matriz de ponteiros alocada dinamicamente para estruturas com dados sobre as entradas de diretório, e estou pensando se posso alocar dinamicamente estruturas direntes e definir os ponteiros para eles. mas essa linha parece dizer que o resultado nunca deve ser chamado de graça, por isso, estou pensando se devo alocar uma estrutura de diretório separada, que fará parte da lista e copiá-la do resultado retornad

Eu também estou confuso com a terminologia de "may" na página de manual acima. isso significa que algumas vezes é alocado estaticamente e às vezes não é.

Estou familiarizado (vagamente) com o que as variáveis estáticas significam em C, mas não tenho certeza sobre todas as regras e possíveis pegadas ao seu redor. porque eu quero passar as estruturas dirent que estão em um diretório, prefiro que sejam alocadas dinamicamente. é para isso que serve o readdir_r? ou o ponteiro duplo será definido para apontar para outra estrutura de diretiva alocada estaticamente?

e eu não tenho certeza do que reentrante significa neste contexto para readdir_r. meu entendimento sobre renetrant é apenas a partir de esquemas de esquema, que não tenho certeza de como isso se aplicaria à leitura de diretórios uni

questionAnswers(3)

yourAnswerToTheQuestion