decoder/flac: return early from flac_find_float_comment()

When one metadata check fails, return quickly.  This removes 2 levels
of indent.
This commit is contained in:
Max Kellermann
2009-07-22 13:31:46 +02:00
parent 8e2d987996
commit cf1fd2b0da

View File

@@ -44,17 +44,22 @@ static bool
flac_find_float_comment(const FLAC__StreamMetadata *block, flac_find_float_comment(const FLAC__StreamMetadata *block,
const char *cmnt, float *fl) const char *cmnt, float *fl)
{ {
int offset = int offset;
FLAC__metadata_object_vorbiscomment_find_entry_from(block, 0, cmnt); size_t pos;
int len;
unsigned char tmp, *p;
if (offset >= 0) { offset = FLAC__metadata_object_vorbiscomment_find_entry_from(block, 0,
size_t pos = strlen(cmnt) + 1; /* 1 is for '=' */ cmnt);
int len = block->data.vorbis_comment.comments[offset].length if (offset < 0)
- pos; return false;
if (len > 0) {
unsigned char tmp; pos = strlen(cmnt) + 1; /* 1 is for '=' */
unsigned char *p = &(block->data.vorbis_comment. len = block->data.vorbis_comment.comments[offset].length - pos;
comments[offset].entry[pos]); if (len <= 0)
return false;
p = &block->data.vorbis_comment.comments[offset].entry[pos];
tmp = p[len]; tmp = p[len];
p[len] = '\0'; p[len] = '\0';
*fl = (float)atof((char *)p); *fl = (float)atof((char *)p);
@@ -62,10 +67,6 @@ flac_find_float_comment(const FLAC__StreamMetadata *block,
return true; return true;
} }
}
return false;
}
static void static void
flac_parse_replay_gain(const FLAC__StreamMetadata *block, flac_parse_replay_gain(const FLAC__StreamMetadata *block,