Merge pull request #106 from jdduke/stl_ascii_check

Allow spaces before the ascii STL header keyword
pull/138/merge
Alexander Gessler 2013-09-26 07:07:48 -07:00
commit d4ce9571b7
1 changed files with 11 additions and 2 deletions

View File

@ -86,7 +86,12 @@ bool IsAsciiSTL(const char* buffer, unsigned int fileSize) {
if (IsBinarySTL(buffer, fileSize)) if (IsBinarySTL(buffer, fileSize))
return false; return false;
if (fileSize < 5) const char* bufferEnd = buffer + fileSize;
if (!SkipSpaces(&buffer))
return false;
if (buffer + 5 >= bufferEnd)
return false; return false;
return strncmp(buffer, "solid", 5) == 0; return strncmp(buffer, "solid", 5) == 0;
@ -209,7 +214,11 @@ void STLImporter::LoadASCIIFile()
{ {
aiMesh* pMesh = pScene->mMeshes[0]; aiMesh* pMesh = pScene->mMeshes[0];
const char* sz = mBuffer + 5; // skip the "solid" const char* sz = mBuffer;
SkipSpaces(&sz);
ai_assert(!IsLineEnd(sz));
sz += 5; // skip the "solid"
SkipSpaces(&sz); SkipSpaces(&sz);
const char* szMe = sz; const char* szMe = sz;
while (!::IsSpaceOrNewLine(*sz)) { while (!::IsSpaceOrNewLine(*sz)) {