From: maksqwe Date: Thu, 22 Aug 2013 21:42:18 +0000 (+0300) Subject: 1. add std::nothrow to new operator because then ptr checked with NULL X-Git-Tag: release-1.4.1~1^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9c07d1e39d66d8d9a0e7d807a1183ee449a6e79a;p=libmatroska 1. add std::nothrow to new operator because then ptr checked with NULL 2. "currentNewBlock" is assigned values twice successively 3. optimize std::vector<>::iterator's usage "iter++" -> "++iter". See preincrement and postincrement operator++() --- diff --git a/matroska/KaxBlock.h b/matroska/KaxBlock.h index aedec5a..3ee8397 100644 --- a/matroska/KaxBlock.h +++ b/matroska/KaxBlock.h @@ -70,7 +70,7 @@ class MATROSKA_DLL_API DataBuffer { { if (bInternalBuffer) { - myBuffer = new binary[mySize]; + myBuffer = new (std::nothrow) binary[mySize]; if (myBuffer == NULL) bValidValue = false; else diff --git a/src/KaxCluster.cpp b/src/KaxCluster.cpp index deacace..068f7e0 100644 --- a/src/KaxCluster.cpp +++ b/src/KaxCluster.cpp @@ -98,7 +98,6 @@ bool KaxCluster::AddFrameInternal(const KaxTrackEntry & track, uint64 timecode, if (currentNewBlock == NULL || uint32(track.TrackNumber()) != uint32(currentNewBlock->TrackNumber()) || PastBlock != NULL || ForwBlock != NULL) { KaxBlockGroup & aNewBlock = GetNewBlock(); MyNewBlock = currentNewBlock = &aNewBlock; - currentNewBlock = &aNewBlock; } if (PastBlock != NULL) { diff --git a/src/KaxCues.cpp b/src/KaxCues.cpp index 184654c..0dff50a 100644 --- a/src/KaxCues.cpp +++ b/src/KaxCues.cpp @@ -70,7 +70,7 @@ bool KaxCues::AddBlockBlob(const KaxBlockBlob & BlockReference) // Do not add the element if it's already present. std::vector::iterator ListIdx; - for (ListIdx = myTempReferences.begin(); ListIdx != myTempReferences.end(); ListIdx++) + for (ListIdx = myTempReferences.begin(); ListIdx != myTempReferences.end(); ++ListIdx) if (*ListIdx == &BlockReference) return true; @@ -83,7 +83,7 @@ void KaxCues::PositionSet(const KaxBlockBlob & BlockReference) // look for the element in the temporary references std::vector::iterator ListIdx; - for (ListIdx = myTempReferences.begin(); ListIdx != myTempReferences.end(); ListIdx++) { + for (ListIdx = myTempReferences.begin(); ListIdx != myTempReferences.end(); ++ListIdx) { if (*ListIdx == &BlockReference) { // found, now add the element to the entry list KaxCuePoint & NewPoint = AddNewChild(*this); @@ -99,7 +99,7 @@ void KaxCues::PositionSet(const KaxBlockGroup & BlockRef) // look for the element in the temporary references std::vector::iterator ListIdx; - for (ListIdx = myTempReferences.begin(); ListIdx != myTempReferences.end(); ListIdx++) { + for (ListIdx = myTempReferences.begin(); ListIdx != myTempReferences.end(); ++ListIdx) { const KaxInternalBlock &refTmp = **ListIdx; if (refTmp.GlobalTimecode() == BlockRef.GlobalTimecode() && refTmp.TrackNum() == BlockRef.TrackNumber()) {