mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-04-25 16:02:04 +05:00
Use CORBA::string_dup instead of strdup to avoid memory problems. Suppress redundant string duplications.
This commit is contained in:
parent
e47799d70d
commit
4cb5895062
@ -108,7 +108,7 @@ char* GEOM_Gen_i::IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
|
|||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var anObject = GEOM::GEOM_Object::_narrow(_orb->string_to_object(IORString));
|
GEOM::GEOM_Object_var anObject = GEOM::GEOM_Object::_narrow(_orb->string_to_object(IORString));
|
||||||
if (!CORBA::is_nil(anObject)) {
|
if (!CORBA::is_nil(anObject)) {
|
||||||
return strdup(anObject->GetEntry());
|
return CORBA::string_dup(anObject->GetEntry());
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -133,7 +133,7 @@ char* GEOM_Gen_i::LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
|
|||||||
GEOM::GEOM_Object_var obj = GetObject(anObject->GetDocID(), anEntry.ToCString());
|
GEOM::GEOM_Object_var obj = GetObject(anObject->GetDocID(), anEntry.ToCString());
|
||||||
|
|
||||||
CORBA::String_var aPersRefString = _orb->object_to_string(obj);
|
CORBA::String_var aPersRefString = _orb->object_to_string(obj);
|
||||||
return strdup(aPersRefString);
|
return CORBA::string_dup(aPersRefString);
|
||||||
}
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
@ -187,8 +187,10 @@ SALOMEDS::SObject_ptr GEOM_Gen_i::PublishInStudy(SALOMEDS::Study_ptr theStudy,
|
|||||||
}
|
}
|
||||||
anAttr = aStudyBuilder->FindOrCreateAttribute(aResultSO, "AttributeIOR");
|
anAttr = aStudyBuilder->FindOrCreateAttribute(aResultSO, "AttributeIOR");
|
||||||
SALOMEDS::AttributeIOR_var anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr);
|
SALOMEDS::AttributeIOR_var anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr);
|
||||||
char *aGeomObjIOR = _orb->object_to_string(theObject);
|
//char *aGeomObjIOR = _orb->object_to_string(theObject);
|
||||||
anIOR->SetValue(strdup(aGeomObjIOR));
|
CORBA::String_var aGeomObjIOR = _orb->object_to_string(theObject);
|
||||||
|
//anIOR->SetValue(CORBA::string_dup(aGeomObjIOR));
|
||||||
|
anIOR->SetValue(aGeomObjIOR);
|
||||||
|
|
||||||
anAttr = aStudyBuilder->FindOrCreateAttribute(aResultSO, "AttributePixMap");
|
anAttr = aStudyBuilder->FindOrCreateAttribute(aResultSO, "AttributePixMap");
|
||||||
SALOMEDS::AttributePixMap_var aPixmap = SALOMEDS::AttributePixMap::_narrow(anAttr);
|
SALOMEDS::AttributePixMap_var aPixmap = SALOMEDS::AttributePixMap::_narrow(anAttr);
|
||||||
@ -243,7 +245,7 @@ SALOMEDS::SObject_ptr GEOM_Gen_i::PublishInStudy(SALOMEDS::Study_ptr theStudy,
|
|||||||
aShapeName = "Vertex_";
|
aShapeName = "Vertex_";
|
||||||
}
|
}
|
||||||
//if (strlen(theName) == 0) aShapeName += TCollection_AsciiString(aResultSO->Tag());
|
//if (strlen(theName) == 0) aShapeName += TCollection_AsciiString(aResultSO->Tag());
|
||||||
//else aShapeName = TCollection_AsciiString(strdup(theName));
|
//else aShapeName = TCollection_AsciiString(CORBA::string_dup(theName));
|
||||||
|
|
||||||
// asv : 11.11.04 Introducing a more sofisticated method of name creation, just as
|
// asv : 11.11.04 Introducing a more sofisticated method of name creation, just as
|
||||||
// it is done in GUI in GEOMBase::GetDefaultName() - not just add a Tag() == number
|
// it is done in GUI in GEOMBase::GetDefaultName() - not just add a Tag() == number
|
||||||
@ -261,7 +263,7 @@ SALOMEDS::SObject_ptr GEOM_Gen_i::PublishInStudy(SALOMEDS::Study_ptr theStudy,
|
|||||||
aShapeName = aNewShapeName;
|
aShapeName = aNewShapeName;
|
||||||
}
|
}
|
||||||
else // MOST PROBABLY CALLED FROM GEOM GUI (ALREADY WITH VALID NAME)
|
else // MOST PROBABLY CALLED FROM GEOM GUI (ALREADY WITH VALID NAME)
|
||||||
aShapeName = TCollection_AsciiString(strdup(theName));
|
aShapeName = TCollection_AsciiString((char*)theName);
|
||||||
|
|
||||||
//Set the study entry as a name of the published GEOM_Object
|
//Set the study entry as a name of the published GEOM_Object
|
||||||
aShape->SetStudyEntry(aResultSO->GetID());
|
aShape->SetStudyEntry(aResultSO->GetID());
|
||||||
@ -353,7 +355,7 @@ CORBA::Boolean GEOM_Gen_i::Load(SALOMEDS::SComponent_ptr theComponent,
|
|||||||
if (!isMultiFile) SALOMEDS_Tool::RemoveTemporaryFiles(aTmpDir.c_str(), aSeq.in(), true);
|
if (!isMultiFile) SALOMEDS_Tool::RemoveTemporaryFiles(aTmpDir.c_str(), aSeq.in(), true);
|
||||||
|
|
||||||
SALOMEDS::Study_var Study = theComponent->GetStudy();
|
SALOMEDS::Study_var Study = theComponent->GetStudy();
|
||||||
TCollection_AsciiString name( strdup(Study->Name()) );
|
TCollection_AsciiString name (Study->Name());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -486,7 +488,7 @@ SALOMEDS::SObject_ptr GEOM_Gen_i::PasteInto(const SALOMEDS::TMPFile& theStream,
|
|||||||
//============================================================================
|
//============================================================================
|
||||||
char* GEOM_Gen_i::ComponentDataType()
|
char* GEOM_Gen_i::ComponentDataType()
|
||||||
{
|
{
|
||||||
return strdup("GEOM");
|
return CORBA::string_dup("GEOM");
|
||||||
}
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
@ -537,7 +539,7 @@ SALOMEDS::SObject_ptr GEOM_Gen_i::AddInStudy(SALOMEDS::Study_ptr theStudy, GEOM:
|
|||||||
void GEOM_Gen_i::register_name(char * name)
|
void GEOM_Gen_i::register_name(char * name)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Gen_ptr g = GEOM::GEOM_Gen::_narrow(_this());
|
GEOM::GEOM_Gen_ptr g = GEOM::GEOM_Gen::_narrow(_this());
|
||||||
name_service->Register(g, strdup(name));
|
name_service->Register(g, CORBA::string_dup(name));
|
||||||
}
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
Loading…
x
Reference in New Issue
Block a user