STB Vorbis: eliminate inaccessible branch
The eliminated code removes the (ch == 1) branch, which is scoped within this if condition: `if (rtype == 2 && ch != 1)`, therefore the (ch == 1) branch will never be taken. Fixes #842.
This commit is contained in:
parent
3b491aa07c
commit
58e0c4438d
40
stb_vorbis.c
40
stb_vorbis.c
@ -2130,46 +2130,6 @@ static void decode_residue(vorb *f, float *residue_buffers[], int ch, int n, int
|
|||||||
++class_set;
|
++class_set;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
} else if (ch == 1) {
|
|
||||||
while (pcount < part_read) {
|
|
||||||
int z = r->begin + pcount*r->part_size;
|
|
||||||
int c_inter = 0, p_inter = z;
|
|
||||||
if (pass == 0) {
|
|
||||||
Codebook *c = f->codebooks+r->classbook;
|
|
||||||
int q;
|
|
||||||
DECODE(q,f,c);
|
|
||||||
if (q == EOP) goto done;
|
|
||||||
#ifndef STB_VORBIS_DIVIDES_IN_RESIDUE
|
|
||||||
part_classdata[0][class_set] = r->classdata[q];
|
|
||||||
#else
|
|
||||||
for (i=classwords-1; i >= 0; --i) {
|
|
||||||
classifications[0][i+pcount] = q % r->classifications;
|
|
||||||
q /= r->classifications;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) {
|
|
||||||
int z = r->begin + pcount*r->part_size;
|
|
||||||
#ifndef STB_VORBIS_DIVIDES_IN_RESIDUE
|
|
||||||
int c = part_classdata[0][class_set][i];
|
|
||||||
#else
|
|
||||||
int c = classifications[0][pcount];
|
|
||||||
#endif
|
|
||||||
int b = r->residue_books[c][pass];
|
|
||||||
if (b >= 0) {
|
|
||||||
Codebook *book = f->codebooks + b;
|
|
||||||
if (!codebook_decode_deinterleave_repeat(f, book, residue_buffers, ch, &c_inter, &p_inter, n, r->part_size))
|
|
||||||
goto done;
|
|
||||||
} else {
|
|
||||||
z += r->part_size;
|
|
||||||
c_inter = 0;
|
|
||||||
p_inter = z;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#ifndef STB_VORBIS_DIVIDES_IN_RESIDUE
|
|
||||||
++class_set;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
} else if (ch > 2) {
|
} else if (ch > 2) {
|
||||||
while (pcount < part_read) {
|
while (pcount < part_read) {
|
||||||
int z = r->begin + pcount*r->part_size;
|
int z = r->begin + pcount*r->part_size;
|
||||||
|
Loading…
Reference in New Issue
Block a user