/[escript]/branches/RW_WIN32/finley/src/CPPAdapter/MeshAdapter.cpp
ViewVC logotype

Diff of /branches/RW_WIN32/finley/src/CPPAdapter/MeshAdapter.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 209 by robwdcock, Sun Nov 20 10:51:16 2005 UTC revision 210 by robwdcock, Wed Nov 23 09:54:02 2005 UTC
# Line 811  void MeshAdapter::saveDX(const std::stri Line 811  void MeshAdapter::saveDX(const std::stri
811  {  {
812      int MAX_namelength=256;      int MAX_namelength=256;
813      const int num_data=boost::python::extract<int>(arg.attr("__len__")());      const int num_data=boost::python::extract<int>(arg.attr("__len__")());
814      char names[num_data][MAX_namelength];    /* win32 refactor */
815      char* c_names[num_data];    char* *names = (num_data>0) ? TMPMEMALLOC(num_data,char*) : (char**)NULL;
816      escriptDataC data[num_data];    for(int i=0;i<num_data;i++)
817      escriptDataC* ptr_data[num_data];    {
818        names[i] = (MAX_namelength>0) ? TMPMEMALLOC(MAX_namelength,char) : (char*)NULL;
819      }
820    
821      char* *c_names = (num_data>0) ? TMPMEMALLOC(num_data,char*) : (char**)NULL;
822      escriptDataC *data = (num_data>0) ? TMPMEMALLOC(num_data,escriptDataC) : (escriptDataC*)NULL;
823      escriptDataC* *ptr_data = (num_data>0) ? TMPMEMALLOC(num_data,escriptDataC*) : (escriptDataC**)NULL;
824    
825      boost::python::list keys=arg.keys();      boost::python::list keys=arg.keys();
826      for (int i=0;i<num_data;++i) {      for (int i=0;i<num_data;++i) {
# Line 834  void MeshAdapter::saveDX(const std::stri Line 840  void MeshAdapter::saveDX(const std::stri
840      }      }
841      Finley_Mesh_saveDX(filename.c_str(),m_finleyMesh.get(),num_data,c_names,ptr_data);      Finley_Mesh_saveDX(filename.c_str(),m_finleyMesh.get(),num_data,c_names,ptr_data);
842      checkFinleyError();      checkFinleyError();
843        
844          /* win32 refactor */
845      TMPMEMFREE(c_names);
846      TMPMEMFREE(data);
847      TMPMEMFREE(ptr_data);
848      for(int i=0;i<num_data;i++)
849      {
850        TMPMEMFREE(names[i]);
851      }
852      TMPMEMFREE(names);
853    
854      return;      return;
855  }  }
856    
# Line 842  void MeshAdapter::saveVTK(const std::str Line 859  void MeshAdapter::saveVTK(const std::str
859  {  {
860      int MAX_namelength=256;      int MAX_namelength=256;
861      const int num_data=boost::python::extract<int>(arg.attr("__len__")());      const int num_data=boost::python::extract<int>(arg.attr("__len__")());
862      char names[num_data][MAX_namelength];    /* win32 refactor */
863      char* c_names[num_data];    char* *names = (num_data>0) ? TMPMEMALLOC(num_data,char*) : (char**)NULL;
864      escriptDataC data[num_data];    for(int i=0;i<num_data;i++)
865      escriptDataC* ptr_data[num_data];    {
866        names[i] = (MAX_namelength>0) ? TMPMEMALLOC(MAX_namelength,char) : (char*)NULL;
867      }
868    
869      char* *c_names = (num_data>0) ? TMPMEMALLOC(num_data,char*) : (char**)NULL;
870      escriptDataC *data = (num_data>0) ? TMPMEMALLOC(num_data,escriptDataC) : (escriptDataC*)NULL;
871      escriptDataC* *ptr_data = (num_data>0) ? TMPMEMALLOC(num_data,escriptDataC*) : (escriptDataC**)NULL;
872    
873      boost::python::list keys=arg.keys();      boost::python::list keys=arg.keys();
874      for (int i=0;i<num_data;++i) {      for (int i=0;i<num_data;++i) {
# Line 865  void MeshAdapter::saveVTK(const std::str Line 888  void MeshAdapter::saveVTK(const std::str
888      }      }
889      Finley_Mesh_saveVTK(filename.c_str(),m_finleyMesh.get(),num_data,c_names,ptr_data);      Finley_Mesh_saveVTK(filename.c_str(),m_finleyMesh.get(),num_data,c_names,ptr_data);
890      checkFinleyError();      checkFinleyError();
891      /* win32 refactor */
892      TMPMEMFREE(c_names);
893      TMPMEMFREE(data);
894      TMPMEMFREE(ptr_data);
895      for(int i=0;i<num_data;i++)
896      {
897        TMPMEMFREE(names[i]);
898      }
899      TMPMEMFREE(names);
900    
901      return;      return;
902  }  }
903                                                                                                                                                                                                                                                                                                                                                    

Legend:
Removed from v.209  
changed lines
  Added in v.210

  ViewVC Help
Powered by ViewVC 1.1.26