CaptainFlint

|
Posted: Mon Aug 20, 2007 12:41 Post subject: |
|
|
DrShark wrote: | Попробуй использовать контентный плагин NL_Info. Увы, он не умеет определять, является файл огригиналом или жёсткой ссылкой |
Это невозможно принципиально. В файловой системе нигде не хранится информация о связях жёстких ссылок друг с другом. И вообще, для жёстких ссылок нет понятий "оригинал" и "ссылка", все жёсткие ссылки абсолютно равноправны.
Файловая система организована следующим образом (очень упрощённо): есть область на диске, где расположены данные, хранящиеся в файле. Этой области присвоен уникальный идентификатор. Есть файловая таблица, в которой указаны имя файла, некоторые его характеристики, и тот самый идентификатор, указывающий на место хранения данных. Так вот, жёсткие ссылки - это ни что иное как наличие в двух местах ссылок на одну и ту же область данных. Как ты скажешь, какая из этих двух идентичных ссылок "более равная"? Никак. Удалишь любую из них - останется другая, ничем от первой не отличающаяся. Оригинал можно указать только при работе с символичесими ссылками, но не с жёсткими.
DrShark wrote: | Alextp, ещё постом назад ты писал, что сам не знаешь, есть ли такое API. Если бы оно было, думаю, CF реализовал бы его в NL_Info. |
Теоретически плагин мог бы выдавать тот самый идентификатор, о котором я написал чуть выше. Только практического смысла в этом не очень много, всё равно без реализации этого реквеста использовать его не получится.
Тотал, в принципе, тоже мог бы получать этот идентификатор и, видя, что два файла (точнее, две файловые записи) имеют одинаковый идентификатор, не сравнивать их содержимое, и без того зная, что оно совпадёт до байта. Осталось найти необходимые функции и упросить Гислера это реализовать... _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|