Browse Source

A few tweaks to help the clang static analyser avoid false alarms.

tags/2021-05-28
jules 11 years ago
parent
commit
8809efcb7a
4 changed files with 30 additions and 20 deletions
  1. +14
    -14
      modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp
  2. +8
    -4
      modules/juce_core/containers/juce_Array.h
  3. +7
    -2
      modules/juce_core/containers/juce_OwnedArray.h
  4. +1
    -0
      modules/juce_core/containers/juce_ReferenceCountedArray.h

+ 14
- 14
modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp View File

@@ -133,31 +133,31 @@ public:
trackUnitsPerFrame = GetMovieTimeScale (movie) * samplesPerFrame
/ GetMediaTimeScale (media);
OSStatus err = MovieAudioExtractionBegin (movie, 0, &extractor);
MovieAudioExtractionBegin (movie, 0, &extractor);
unsigned long output_layout_size;
err = MovieAudioExtractionGetPropertyInfo (extractor,
kQTPropertyClass_MovieAudioExtraction_Audio,
kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout,
0, &output_layout_size, 0);
OSStatus err = MovieAudioExtractionGetPropertyInfo (extractor,
kQTPropertyClass_MovieAudioExtraction_Audio,
kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout,
0, &output_layout_size, 0);
if (err != noErr)
return;
HeapBlock <AudioChannelLayout> qt_audio_channel_layout;
qt_audio_channel_layout.calloc (output_layout_size, 1);
err = MovieAudioExtractionGetProperty (extractor,
kQTPropertyClass_MovieAudioExtraction_Audio,
kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout,
output_layout_size, qt_audio_channel_layout, 0);
MovieAudioExtractionGetProperty (extractor,
kQTPropertyClass_MovieAudioExtraction_Audio,
kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout,
output_layout_size, qt_audio_channel_layout, 0);
qt_audio_channel_layout[0].mChannelLayoutTag = kAudioChannelLayoutTag_Stereo;
err = MovieAudioExtractionSetProperty (extractor,
kQTPropertyClass_MovieAudioExtraction_Audio,
kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout,
output_layout_size,
qt_audio_channel_layout);
MovieAudioExtractionSetProperty (extractor,
kQTPropertyClass_MovieAudioExtraction_Audio,
kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout,
output_layout_size,
qt_audio_channel_layout);
err = MovieAudioExtractionGetProperty (extractor,
kQTPropertyClass_MovieAudioExtraction_Audio,


+ 8
- 4
modules/juce_core/containers/juce_Array.h View File

@@ -279,8 +279,7 @@ public:
inline ElementType getFirst() const
{
const ScopedLockType lock (getLock());
return (numUsed > 0) ? data.elements [0]
: ElementType();
return numUsed > 0 ? data.elements[0] : ElementType();
}
/** Returns the last element in the array, or a default value if the array is empty.
@@ -290,8 +289,7 @@ public:
inline ElementType getLast() const
{
const ScopedLockType lock (getLock());
return (numUsed > 0) ? data.elements [numUsed - 1]
: ElementType();
return numUsed > 0 ? data.elements[numUsed - 1] : ElementType();
}
/** Returns a pointer to the actual array data.
@@ -317,6 +315,11 @@ public:
*/
inline ElementType* end() const noexcept
{
#if JUCE_DEBUG
if (data.elements == nullptr || numUsed <= 0) // (to keep static analysers happy)
return data.elements;
#endif
return data.elements + numUsed;
}
@@ -519,6 +522,7 @@ public:
if (isPositiveAndBelow (indexToChange, numUsed))
{
jassert (data.elements != nullptr);
data.elements [indexToChange] = newValue;
}
else if (indexToChange >= 0)


+ 7
- 2
modules/juce_core/containers/juce_OwnedArray.h View File

@@ -167,7 +167,7 @@ public:
{
const ScopedLockType lock (getLock());
return numUsed > 0 ? data.elements [0]
: static_cast <ObjectClass*> (nullptr);
: static_cast<ObjectClass*> (nullptr);
}
/** Returns a pointer to the last object in the array.
@@ -179,7 +179,7 @@ public:
{
const ScopedLockType lock (getLock());
return numUsed > 0 ? data.elements [numUsed - 1]
: static_cast <ObjectClass*> (nullptr);
: static_cast<ObjectClass*> (nullptr);
}
/** Returns a pointer to the actual array data.
@@ -205,6 +205,11 @@ public:
*/
inline ObjectClass** end() const noexcept
{
#if JUCE_DEBUG
if (data.elements == nullptr || numUsed <= 0) // (to keep static analysers happy)
return data.elements;
#endif
return data.elements + numUsed;
}


+ 1
- 0
modules/juce_core/containers/juce_ReferenceCountedArray.h View File

@@ -180,6 +180,7 @@ public:
inline ObjectClass* getObjectPointer (const int index) const noexcept
{
const ScopedLockType lock (getLock());
jassert (isPositiveAndBelow (index, numUsed));
return isPositiveAndBelow (index, numUsed) ? data.elements [index]
: nullptr;
}


Loading…
Cancel
Save