fs/io/OutputStream: use C++ exceptions in Write()
This commit is contained in:
@@ -22,8 +22,8 @@
|
||||
#include "EncoderInterface.hxx"
|
||||
#include "fs/io/OutputStream.hxx"
|
||||
|
||||
bool
|
||||
EncoderToOutputStream(OutputStream &os, Encoder &encoder, Error &error)
|
||||
void
|
||||
EncoderToOutputStream(OutputStream &os, Encoder &encoder)
|
||||
{
|
||||
while (true) {
|
||||
/* read from the encoder */
|
||||
@@ -31,11 +31,10 @@ EncoderToOutputStream(OutputStream &os, Encoder &encoder, Error &error)
|
||||
char buffer[32768];
|
||||
size_t nbytes = encoder_read(&encoder, buffer, sizeof(buffer));
|
||||
if (nbytes == 0)
|
||||
return true;
|
||||
return;
|
||||
|
||||
/* write everything to the stream */
|
||||
|
||||
if (!os.Write(buffer, nbytes, error))
|
||||
return false;
|
||||
os.Write(buffer, nbytes);
|
||||
}
|
||||
}
|
||||
|
@@ -24,9 +24,8 @@
|
||||
|
||||
struct Encoder;
|
||||
class OutputStream;
|
||||
class Error;
|
||||
|
||||
bool
|
||||
EncoderToOutputStream(OutputStream &os, Encoder &encoder, Error &error);
|
||||
void
|
||||
EncoderToOutputStream(OutputStream &os, Encoder &encoder);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user