@@ -56,10 +56,11 @@ # include # include #endif #ifdef OF_AMIGAOS +# define __USE_INLINE__ # include #endif #ifndef O_BINARY # define O_BINARY 0 @@ -272,13 +273,16 @@ mode: mode errNo: errNo]; } if (handle->append) { -# ifdef OF_MORPHOS +# if defined(OF_MORPHOS) if (Seek64(handle->handle, 0, OFFSET_END) == -1) { +# elif defined(OF_AMIGAOS4) + if (ChangeFilePosition(handle->handle, 0, + OFFSET_END) == -1) { # else if (Seek(handle->handle, 0, OFFSET_END) == -1) { # endif Close(handle->handle); @throw [OFOpenItemFailedException @@ -414,12 +418,14 @@ if (length > LONG_MAX) @throw [OFOutOfRangeException exception]; if (_handle->append) { -# ifdef OF_MORPHOS +# if defined(OF_MORPHOS) if (Seek64(_handle->handle, 0, OFFSET_END) == -1) +# elif defined(OF_AMIGAOS4) + if (ChangeFilePosition(_handle->handle, 0, OFFSET_END) == -1) # else if (Seek(_handle->handle, 0, OFFSET_END) == -1) # endif @throw [OFWriteFailedException exceptionWithObject: self @@ -489,12 +495,15 @@ offset: offset whence: whence errNo: EINVAL]; } -# ifdef OF_MORPHOS +# if defined(OF_MORPHOS) if ((ret = Seek64(_handle->handle, offset, translatedWhence)) == 1) +# elif defined(OF_AMIGAOS4) + if ((ret = ChangeFilePosition(_handle->handle, offset, + translatedWhence)) == 1) # else if ((ret = Seek(_handle->handle, offset, translatedWhence)) == 1) # endif @throw [OFSeekFailedException exceptionWithStream: self offset: offset