Do padrão POSIX :
The special filename dot shall refer to the directory specified by its predecessor. The special filename dot-dot shall refer to the parent directory of its predecessor directory. As a special case, in the root directory, dot-dot may refer to the root directory itself.
Então, realmente, se você quiser verificar se o nome do arquivo é . ou .. você teria que chamá-lo IsDotOrDotDot() , ou, usando a terminologia POSIX da resolução do caminho, IsPredecessorOrParentOfPredecessor() , ou talvez até PointsToPredecessorOrParentOfPrecedessor() … você entendeu. O problema é que a última terminologia só faz sentido quando se olha para caminhos completos. Mas ninguém entenderia isso de qualquer maneira.
Considerando que . e .. são nomes de arquivos válidos (apenas interpretados de forma diferente), você deve se ater ao que você tem, contando com o significado ao invés de como eles são chamados internamente. / p>