Как я могу получить путь с учетом регистра в Linux без итерации каталогов?

Учитывая смонтированную файловую систему cifs / network / cifs , которая нечувствительна к регистру, как мне получить путь с учетом регистра с помощью C?

Например, fs есть файл /network/cfis/Adena/t.txt . Учитывая /network/cfis/AdEnA/T.txt (который правильно разрешает), я хочу /network/cfis/Adena/t.txt .

Я знаю, что один из способов сделать это - рекурсивно перебирать путь, сопоставлять их во всех нижних регистрах и получать реальный регистр, возвращенный итерацией каталога. Однако это связано с множеством системных вызовов, которые я бы предпочел не делать.

Изменение параметров крепления не является решением.

Если это невозможно, можно ли определить, находится ли путь в файловой системе без учета регистра? Таким образом, я мог избежать рекурсивной итерации каталогов, если это не требуется.

5
задан lesmana 11 December 2011 в 16:32
поделиться