нулем. Ранее (строки 153–154) это использовалось для вывода общего числа блоков, использованных файлами в каталоге.
Строки 309–323 являются циклом, который читает элементы каталога и добавляет их к массиву
flist
. Строки 310–311 читают один элемент, выходя из цикла в конце файла.
Строки 312–315 пропускают неинтересные элементы. Если номер индекса равен нулю, этот слот не используется. В противном случае, если не был указан -а и имя файла является '
.
' или '
..
', оно пропускается.
Строки 316–318 вызывают
gstat
с полным именем файла и вторым аргументом, равным
false
, указывающим, что он не из командной строки.
gstat
обновляет глобальный указатель
lastp
и массив
flist
. Возвращаемое значение
NULL
обозначает какую-нибудь разновидность ошибки.
Строки 319–322 сохраняют номер индекса и имя в
struct lbuf
. Если
ep->lnum
возвращается из
gstat
установленным в -1, это означает, что операция
stat
с файлом завершилась неудачей. Наконец, строка 324 закрывает каталог.
Следующая функция,
gstat
(строки 327–398), является центральной функцией для получения и сохранения сведений о файле.