Шрифт:
85
У некоторых старых версий GLIBC были проблемы с FTW_CHDIR. Это не относится к GLIBC 2.3.2 и более поздним, и маловероятно, что вы столкнетесь с проблемами — Примеч. автора.
86
Мы не знаем, почему кому-нибудь может понадобиться делать такое изменение, но философия «что вы просили, то и получили» применяется и здесь! — Примеч. автора.
8.4.3.2. Функция обратного вызова
После запуска
Имя текущего обрабатываемого файла (каталога, символической ссылки и т.д.).
Указатель на
Одно из нескольких значений флагов (описанных ниже), указывающих, какой это вид файла или была ли ошибка для объекта.
Эта структура предоставляет две отдельные части информации:
Параметр
Таблица 8.4. Значения флагов для функции обратного вызова
Флаг | Значение |
---|---|
FTW_F | Объект является обычным файлом |
FTW_D | Объект является каталогом |
FTW_DNR | Объект является каталогом, который нельзя прочесть |
FTW_SL | Объект является символической ссылкой |
FTW_NS | Объект не является символической ссылкой, а stat потерпела неудачу |
FTW_DP | Объект является каталогом, элементы которого были уже обработаны. Это может случиться, лишь когда в вызове nftw использовался FTW_DEPTH |
FTW_SLN | Объект является символической ссылкой, указывающей на несуществующий файл. Это может случиться, лишь когда в вызове nftw не используется FTW_PHYS |
Функция обратного вызова должна вернуть 0, если все нормально. Любое ненулевое возвращенное значение заставляет
Давайте свяжем все это воедино в примере программы.
Вот сама программа: