diff options
Diffstat (limited to 'res012.c')
-rw-r--r-- | res012.c | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -46,8 +46,8 @@ int res_unpack(vorbis_info_residue *info, info->begin=oggpack_read(opb,24); info->end=oggpack_read(opb,24); info->grouping=oggpack_read(opb,24)+1; - info->partitions=oggpack_read(opb,6)+1; - info->groupbook=oggpack_read(opb,8); + info->partitions=(char)oggpack_read(opb,6)+1; + info->groupbook=(unsigned char)oggpack_read(opb,8); if(info->groupbook>=ci->books)goto errout; info->stagemasks=_ogg_malloc(info->partitions*sizeof(*info->stagemasks)); @@ -63,7 +63,7 @@ int res_unpack(vorbis_info_residue *info, for(j=0;j<info->partitions;j++){ for(k=0;k<8;k++){ if((info->stagemasks[j]>>k)&1){ - unsigned char book=oggpack_read(opb,8); + unsigned char book=(unsigned char)oggpack_read(opb,8); if(book>=ci->books)goto errout; info->stagebooks[j*8+k]=book; if(k+1>info->stages)info->stages=k+1; @@ -217,7 +217,6 @@ int res_inverse(vorbis_dsp_state *vd,vorbis_info_residue *info, } } } - errout: eopbreak: return 0; |