X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2FJP2K_Sequence_Parser.cpp;h=a0fd5d0b9c2fde47ac8143fe13a5cd5b1cd228b4;hb=76ced5aac5c2edfd1ccf510870bea952b2aad710;hp=77de5bed8ba2cc5f40def184ce92556b3f6d02fb;hpb=61a1033e5c75e8318340a3789c35ec6d008432cd;p=asdcplib.git diff --git a/src/JP2K_Sequence_Parser.cpp b/src/JP2K_Sequence_Parser.cpp index 77de5be..a0fd5d0 100755 --- a/src/JP2K_Sequence_Parser.cpp +++ b/src/JP2K_Sequence_Parser.cpp @@ -1,5 +1,5 @@ /* -Copyright (c) 2004-2009, John Hurst +Copyright (c) 2004-2011, John Hurst All rights reserved. Redistribution and use in source and binary forms, with or without @@ -31,6 +31,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include +#include #include #include #include @@ -54,10 +55,11 @@ public: std::list::const_iterator i; for ( i = pathlist.begin(); i != pathlist.end(); i++ ) push_back(*i); + return *this; } // - Result_t InitFromDirectory(const char* path) + Result_t InitFromDirectory(const std::string& path) { char next_file[Kumu::MaxFilePath]; Kumu::DirScanner Scanner; @@ -76,7 +78,9 @@ public: std::string Str(m_DirName); Str += "/"; Str += next_file; - push_back(Str); + + if ( ! Kumu::PathIsDirectory(Str) ) + push_back(Str); } sort(); @@ -115,7 +119,7 @@ public: Close(); } - Result_t OpenRead(const char* filename, bool pedantic); + Result_t OpenRead(const std::string& filename, bool pedantic); Result_t OpenRead(const std::list& file_list, bool pedantic); void Close() {} @@ -164,9 +168,8 @@ ASDCP::JP2K::SequenceParser::h__SequenceParser::OpenRead() // ASDCP::Result_t -ASDCP::JP2K::SequenceParser::h__SequenceParser::OpenRead(const char* filename, bool pedantic) +ASDCP::JP2K::SequenceParser::h__SequenceParser::OpenRead(const std::string& filename, bool pedantic) { - ASDCP_TEST_NULL_STR(filename); m_Pedantic = pedantic; Result_t result = m_FileList.InitFromDirectory(filename); @@ -187,6 +190,97 @@ ASDCP::JP2K::SequenceParser::h__SequenceParser::OpenRead(const std::list(this)->m_Parser = new h__SequenceParser;