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
1 changed files with 19 additions and 18 deletions

View File

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