Added support for BeOS; Handle.cpp uses read_pos() now, and will define

that to pread() if read_pos() doesn't exist.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4621 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2003-09-11 17:49:03 +00:00
parent 0547046085
commit 8c7387275b
2 changed files with 10 additions and 3 deletions
+8 -2
View File
@@ -13,6 +13,12 @@
#include <unistd.h> #include <unistd.h>
#ifndef HAVE_READ_POS
# define read_pos(fd, pos, buffer, size) pread(fd, buffer, size, pos)
# define write_pos(fd, pos, buffer, size) pwrite(fd, buffer, size, pos)
#endif
Handle::Handle(int handle, bool takeOwnership) Handle::Handle(int handle, bool takeOwnership)
: :
fHandle(handle), fHandle(handle),
@@ -49,14 +55,14 @@ Handle::SetHandle(int handle, bool takeOwnership)
ssize_t ssize_t
Handle::ReadAt(void *cookie, off_t pos, void *buffer, size_t bufferSize) Handle::ReadAt(void *cookie, off_t pos, void *buffer, size_t bufferSize)
{ {
return pread(fHandle, buffer, bufferSize, pos); return read_pos(fHandle, pos, buffer, bufferSize);
} }
ssize_t ssize_t
Handle::WriteAt(void *cookie, off_t pos, const void *buffer, size_t bufferSize) Handle::WriteAt(void *cookie, off_t pos, const void *buffer, size_t bufferSize)
{ {
return pwrite(fHandle, buffer, bufferSize, pos); return write_pos(fHandle, pos, buffer, bufferSize);
} }
+2 -1
View File
@@ -23,7 +23,8 @@ ObjectDefines
if $(OS) = "LINUX" { if $(OS) = "LINUX" {
# SubDirC++Flags -include /usr/include/stdio.h ; # SubDirC++Flags -include /usr/include/stdio.h ;
} else { } else {
SubDirC++Flags -include /boot/develop/headers/posix/stdio.h ; # SubDirC++Flags -include /boot/develop/headers/posix/stdio.h ;
SubDirC++Flags -DHAVE_READ_POS=1 ;
} }
SimpleTest BootLoaderTest : SimpleTest BootLoaderTest :