26 int64 juce_fileSetPosition (
void* handle, int64 pos);
31 bufferSize (bufferSizeToUse),
32 buffer (jmax (bufferSizeToUse, (size_t) 16))
45 return currentPosition;
50 if (newPosition != currentPosition)
53 currentPosition = juce_fileSetPosition (fileHandle, newPosition);
56 return newPosition == currentPosition;
59 bool FileOutputStream::flushBuffer()
63 if (bytesInBuffer > 0)
65 ok = (writeInternal (buffer, bytesInBuffer) == (ssize_t) bytesInBuffer);
80 jassert (src !=
nullptr && ((ssize_t) numBytes) >= 0);
82 if (bytesInBuffer + numBytes < bufferSize)
84 memcpy (buffer + bytesInBuffer, src, numBytes);
85 bytesInBuffer += numBytes;
86 currentPosition += (int64) numBytes;
93 if (numBytes < bufferSize)
95 memcpy (buffer + bytesInBuffer, src, numBytes);
96 bytesInBuffer += numBytes;
97 currentPosition += (int64) numBytes;
101 auto bytesWritten = writeInternal (src, numBytes);
103 if (bytesWritten < 0)
106 currentPosition += (int64) bytesWritten;
107 return bytesWritten == (ssize_t) numBytes;
116 jassert (((ssize_t) numBytes) >= 0);
118 if (bytesInBuffer + numBytes < bufferSize)
120 memset (buffer + bytesInBuffer,
byte, numBytes);
121 bytesInBuffer += numBytes;
122 currentPosition += (int64) numBytes;