Merge pull request #92 from DrVanScott/memory

fixing some memory problems, Thanks.
This commit is contained in:
Project OSRM 2012-01-31 05:51:43 -08:00
commit 448095ff98
3 changed files with 5 additions and 4 deletions

View File

@ -146,7 +146,7 @@ void EdgeBasedGraphFactory::Run() {
}
}
++secondRestrictionIterator;
} while(u == secondRestrictionIterator->fromNode);
} while(secondRestrictionIterator != inputRestrictions.end() && u == secondRestrictionIterator->fromNode);
}
if(_nodeBasedGraph->EndEdges(v) == _nodeBasedGraph->BeginEdges(v) + 1 && _nodeBasedGraph->GetEdgeData(e1).type != INT_MAX) {
EdgeBasedNode currentNode;
@ -194,7 +194,7 @@ void EdgeBasedGraphFactory::Run() {
}
}
++secondRestrictionIterator;
} while(u == secondRestrictionIterator->fromNode);
} while(secondRestrictionIterator != inputRestrictions.end() && u == secondRestrictionIterator->fromNode);
}
if( !isTurnRestricted || (isOnlyAllowed && w == onlyToNode) ) { //only add an edge if turn is not prohibited

View File

@ -364,7 +364,7 @@ template<typename NodeT, typename EdgeT>
unsigned readHSGRFromStream(istream &in, vector<NodeT>& nodeList, vector<EdgeT> & edgeList) {
unsigned numberOfNodes = 0;
in.read((char*) & numberOfNodes, sizeof(unsigned));
nodeList.resize(numberOfNodes);
nodeList.resize(numberOfNodes + 1);
NodeT currentNode;
for(unsigned nodeCounter = 0; nodeCounter < numberOfNodes; ++nodeCounter ) {
in.read((char*) &currentNode, sizeof(NodeT));

View File

@ -155,6 +155,7 @@ int main (int argc, char *argv[]) {
std::vector< ContractionCleanup::Edge > contractedEdges;
contractor->GetEdges( contractedEdges );
delete contractor;
ContractionCleanup * cleanup = new ContractionCleanup(n, contractedEdges);
contractedEdges.clear();
@ -183,7 +184,7 @@ int main (int argc, char *argv[]) {
numberOfNodes+=1;
std::vector< StaticGraph<EdgeData>::_StrNode > _nodes;
_nodes.resize( numberOfNodes);
_nodes.resize( numberOfNodes + 1 );
StaticGraph<EdgeData>::EdgeIterator edge = 0;
StaticGraph<EdgeData>::EdgeIterator position = 0;