uses linux,stdio;

function my_double_ls(name:pchar):integer;
var
  dp:PDIR;
  d:pdirent;
begin
  (* Открытие каталога с проверкой ошибок *)
  dp:=opendir (name);
  if dp=nil then
  begin
    my_double_ls:=-1;
    exit;
  end;

  (* Продолжить обход каталога,
   * выводя записи в нем, если
   * индекс остается допустимым
   *)
  d:=readdir(dp);
  while d<>nil do
  begin
    if d^.ino<>0 then
      writeln(d^.name);
    d:=readdir(dp);
  end;

  (* Вернуться к началу каталога ... *)
  rewinddir(dp);
  (* ... и снова вывести его содержимое *)
  d:=readdir(dp);
  while d<>nil do
  begin
    if d^.ino<>0 then
      writeln(d^.name);
    d:=readdir(dp);
  end;
  closedir(dp);
  my_double_ls:=0;
end;


begin
  my_double_ls('.');
end.
