0031668: Visualization - WebGL sample doesn't work on Emscripten 1.39
[occt.git] / src / RWHeaderSection / RWHeaderSection_RWFileDescription.cxx
index 0a92739..98ffe52 100644 (file)
 // Alternatively, this file may be used under the terms of Open CASCADE
 // commercial license or contractual agreement.
 
-#include <RWHeaderSection_RWFileDescription.ixx>
-#include <Interface_HArray1OfHAsciiString.hxx>
 
+#include <HeaderSection_FileDescription.hxx>
+#include <Interface_Check.hxx>
+#include <Interface_HArray1OfHAsciiString.hxx>
+#include <RWHeaderSection_RWFileDescription.hxx>
+#include <StepData_StepReaderData.hxx>
+#include <StepData_StepWriter.hxx>
 
 RWHeaderSection_RWFileDescription::RWHeaderSection_RWFileDescription () {}
 
@@ -33,15 +37,17 @@ void RWHeaderSection_RWFileDescription::ReadStep
 
        Handle(Interface_HArray1OfHAsciiString) aDescription;
        Handle(TCollection_HAsciiString) aDescriptionItem;
-       Standard_Integer nsub1;
-       nsub1 = data->SubListNumber(num, 1, Standard_False);
+       Standard_Integer nsub1 = data->SubListNumber(num, 1, Standard_False);
        if (nsub1 !=0) {
          Standard_Integer nb1 = data->NbParams(nsub1);
-         aDescription = new Interface_HArray1OfHAsciiString (1, nb1);
-         for (Standard_Integer i1 = 1; i1 <= nb1; i1 ++) {
-           Standard_Boolean stat1 = data->ReadString
-                (nsub1,i1,"description",ach,aDescriptionItem);
-           if (stat1) aDescription->SetValue(i1,aDescriptionItem);
+         if (nb1 > 0)
+         {
+           aDescription = new Interface_HArray1OfHAsciiString (1, nb1);
+           for (Standard_Integer i1 = 1; i1 <= nb1; i1 ++) {
+             Standard_Boolean stat1 = data->ReadString
+                  (nsub1,i1,"description",ach,aDescriptionItem);
+             if (stat1) aDescription->SetValue(i1,aDescriptionItem);
+           }
          }
        }
        else {