Commit 809c130cef007055b19c12ab7fba3ce79ab56800
1 parent
f21c0ed9
Revert changes to fmopl.c
fmopl.c was taken from MAME and doesn't include QEMU header files so we cannot use qemu_malloc in it. It happens to build because C is a silly language. Unfortunately, it doesn't play nicely with the QEMU headers so lets just revert the changes that were made to it. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6541 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
22 additions
and
5 deletions
hw/fmopl.c
@@ -619,10 +619,26 @@ static int OPLOpenTable( void ) | @@ -619,10 +619,26 @@ static int OPLOpenTable( void ) | ||
619 | double pom; | 619 | double pom; |
620 | 620 | ||
621 | /* allocate dynamic tables */ | 621 | /* allocate dynamic tables */ |
622 | - TL_TABLE = qemu_malloc(TL_MAX*2*sizeof(INT32)); | ||
623 | - SIN_TABLE = qemu_malloc(SIN_ENT*4 *sizeof(INT32 *)); | ||
624 | - AMS_TABLE = qemu_malloc(AMS_ENT*2 *sizeof(INT32)); | ||
625 | - VIB_TABLE = qemu_malloc(VIB_ENT*2 *sizeof(INT32)); | 622 | + if( (TL_TABLE = malloc(TL_MAX*2*sizeof(INT32))) == NULL) |
623 | + return 0; | ||
624 | + if( (SIN_TABLE = malloc(SIN_ENT*4 *sizeof(INT32 *))) == NULL) | ||
625 | + { | ||
626 | + free(TL_TABLE); | ||
627 | + return 0; | ||
628 | + } | ||
629 | + if( (AMS_TABLE = malloc(AMS_ENT*2 *sizeof(INT32))) == NULL) | ||
630 | + { | ||
631 | + free(TL_TABLE); | ||
632 | + free(SIN_TABLE); | ||
633 | + return 0; | ||
634 | + } | ||
635 | + if( (VIB_TABLE = malloc(VIB_ENT*2 *sizeof(INT32))) == NULL) | ||
636 | + { | ||
637 | + free(TL_TABLE); | ||
638 | + free(SIN_TABLE); | ||
639 | + free(AMS_TABLE); | ||
640 | + return 0; | ||
641 | + } | ||
626 | /* make total level table */ | 642 | /* make total level table */ |
627 | for (t = 0;t < EG_ENT-1 ;t++){ | 643 | for (t = 0;t < EG_ENT-1 ;t++){ |
628 | rate = ((1<<TL_BITS)-1)/pow(10,EG_STEP*t/20); /* dB -> voltage */ | 644 | rate = ((1<<TL_BITS)-1)/pow(10,EG_STEP*t/20); /* dB -> voltage */ |
@@ -1205,7 +1221,8 @@ FM_OPL *OPLCreate(int type, int clock, int rate) | @@ -1205,7 +1221,8 @@ FM_OPL *OPLCreate(int type, int clock, int rate) | ||
1205 | if(type&OPL_TYPE_ADPCM) state_size+= sizeof(YM_DELTAT); | 1221 | if(type&OPL_TYPE_ADPCM) state_size+= sizeof(YM_DELTAT); |
1206 | #endif | 1222 | #endif |
1207 | /* allocate memory block */ | 1223 | /* allocate memory block */ |
1208 | - ptr = qemu_malloc(state_size); | 1224 | + ptr = malloc(state_size); |
1225 | + if(ptr==NULL) return NULL; | ||
1209 | /* clear */ | 1226 | /* clear */ |
1210 | memset(ptr,0,state_size); | 1227 | memset(ptr,0,state_size); |
1211 | OPL = (FM_OPL *)ptr; ptr+=sizeof(FM_OPL); | 1228 | OPL = (FM_OPL *)ptr; ptr+=sizeof(FM_OPL); |