Os programas devem seguir links simbólicos?

0

Um programa que atravessa recursivamente uma árvore de diretórios, precisa descobrir o que fazer com links simbólicos (e / ou pontos de junção no Windows), para evitar entrar em um loop infinito quando um link simbólico aponta para um diretório pai. As duas opções óbvias são:

  1. Ignore links simbólicos completamente.

  2. Siga em frente e siga-os, mas acompanhe todos os diretórios visitados e pule sempre que estiver prestes a atingir um loop infinito.

Qual é a escolha mais comum / esperada / preferida?

    
por rwallace 11.09.2011 / 13:21

1 resposta

0

Se você está apenas navegando, siga.

Mas você especificou que não deseja loops infinitos ...

to avoid going into an infinite loop when a symlink points to a parent directory

Se você estiver pesquisando de forma recursiva de uma maneira ampla, siga. Em uma maneira de profundidade, pule.

Se você está contando os tamanhos dos arquivos, pule.

Manter o controle geralmente é uma otimização , em vez de uma implementação. Claro, é melhor você ter isso.

    
por 11.09.2011 / 14:03

Tags