InputStream: add static method OpenReady()
Merge some duplicate code.
This commit is contained in:
@@ -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();
|
||||
|
Reference in New Issue
Block a user