fs/io/OutputStream: use C++ exceptions in Write()

This commit is contained in:
Max Kellermann
2015-12-16 10:24:43 +01:00
parent 36d6ead65c
commit e4a06da14e
24 changed files with 241 additions and 333 deletions

View File

@@ -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);
}
}

View File

@@ -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