In IFC, fixed parser to avoid interpretation of '##' in string as identifiers

This commit is contained in:
Leo Terziman
2018-04-18 11:53:49 +02:00
parent 6ca8423e24
commit c797f16b0e

View File

@@ -492,10 +492,17 @@ STEP::LazyObject::LazyObject(DB& db, uint64_t id,uint64_t /*line*/, const char*
--skip_depth;
}
if (skip_depth >= 1 && *a=='#') {
const char* tmp;
const int64_t num = static_cast<int64_t>( strtoul10_64(a+1,&tmp) );
db.MarkRef(num,id);
if (skip_depth >= 1 && *a=='#') {
if (*(a + 1) != '#')
{
const char* tmp;
const int64_t num = static_cast<int64_t>(strtoul10_64(a + 1, &tmp));
db.MarkRef(num, id);
}
else
{
++a;
}
}
++a;
}