From a6280de177daad5c815af5f02da12ec4f69d1365 Mon Sep 17 00:00:00 2001 From: pierre Date: Sat, 8 Oct 2011 16:46:38 +0000 Subject: [PATCH] * Fix getdirentries problem for openbsd git-svn-id: trunk@19418 - --- rtl/bsd/ossysc.inc | 6 +++++- rtl/openbsd/sysnr.inc | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/rtl/bsd/ossysc.inc b/rtl/bsd/ossysc.inc index be0e9d5bca..254b1daf23 100644 --- a/rtl/bsd/ossysc.inc +++ b/rtl/bsd/ossysc.inc @@ -223,9 +223,13 @@ with blockmode have this higher?} function readbuffer:longint; var retval :longint; - + basep : clong; begin +{$ifdef USE_GETDIRENTRIES_SYSCALL} + Retval:=do_syscall(syscall_nr_getdirentries,TSysParam(dirp^.dd_fd),TSysParam(@dirp^.dd_buf^),DIRBLKSIZ {sizeof(getdentsbuffer)},TSysParam(@basep)); +{$else not USE_GETDIRENTRIES_SYSCALL} Retval:=do_syscall(syscall_nr_getdents,TSysParam(dirp^.dd_fd),TSysParam(@dirp^.dd_buf^),DIRBLKSIZ {sizeof(getdentsbuffer)}); +{$endif not USE_GETDIRENTRIES_SYSCALL} dirp^.dd_rewind:=TSysParam(dirp^.dd_buf); if retval=0 then begin diff --git a/rtl/openbsd/sysnr.inc b/rtl/openbsd/sysnr.inc index fc8ff1dc7f..5b041b3e2b 100644 --- a/rtl/openbsd/sysnr.inc +++ b/rtl/openbsd/sysnr.inc @@ -251,5 +251,6 @@ Const { Aliases } syscall_nr_waitpid = syscall_nr_wait4; // 7, added: ease of notation purposes - syscall_nr_getdents = syscall_nr_getdirentries; +{ syscall_nr_getdents = syscall_nr_getdirentries; } +{$define USE_GETDIRENTRIES_SYSCALL}