X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Floader.cpp;h=81370687ffd7e32f35a413359ac47d90d01c6c5a;hb=b39ce68f12c30eedb272b65fe78baec5864d89ca;hp=e1a0d4abd7bcd80adfa4040c2a9bdf43ffb43ee7;hpb=3b78eeb8b92dc3524d6a0456b4daf0a0f3dbf813;p=libs%2Fdatafile.git diff --git a/source/loader.cpp b/source/loader.cpp index e1a0d4a..8137068 100644 --- a/source/loader.cpp +++ b/source/loader.cpp @@ -24,7 +24,7 @@ bool signature_match(const string &st_sig, const string &act_sig) else if(act_sig.size()==2 && act_sig[1]=='*') { for(string::const_iterator i=st_sig.begin(); i!=st_sig.end(); ++i) - if(*i!=act_sig[0]) + if(!signature_match(*i, act_sig[0])) return false; return true; @@ -87,7 +87,7 @@ void Loader::load(Parser &p) { if(p.peek(0)) load_direct(p, 0); - else + else if(p) // Peek may have processed an __end, so recheck goodness { // Parse in raw mode so we can peek immediately after a mode change Statement st = p.parse(true);