InputStream: add static method OpenReady()

Merge some duplicate code.
This commit is contained in:
Max Kellermann
2013-12-29 18:08:49 +01:00
parent ea9aff1d3f
commit aeb2baa495
11 changed files with 47 additions and 62 deletions

View File

@@ -49,23 +49,6 @@ dump_text_file(TextInputStream &is)
static int
dump_input_stream(InputStream &is)
{
Error error;
is.Lock();
/* wait until the stream becomes ready */
is.WaitReady();
if (!is.Check(error)) {
LogError(error);
is.Unlock();
return EXIT_FAILURE;
}
/* read data and tags from the stream */
is.Unlock();
{
TextInputStream tis(is);
dump_text_file(tis);
@@ -73,6 +56,7 @@ dump_input_stream(InputStream &is)
is.Lock();
Error error;
if (!is.Check(error)) {
LogError(error);
is.Unlock();
@@ -121,7 +105,7 @@ int main(int argc, char **argv)
Mutex mutex;
Cond cond;
InputStream *is = InputStream::Open(argv[1], mutex, cond, error);
InputStream *is = InputStream::OpenReady(argv[1], mutex, cond, error);
if (is != NULL) {
ret = dump_input_stream(*is);
is->Close();