Commit 809c130cef007055b19c12ab7fba3ce79ab56800

Authored by aliguori
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 619 double pom;
620 620  
621 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 642 /* make total level table */
627 643 for (t = 0;t < EG_ENT-1 ;t++){
628 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 1221 if(type&OPL_TYPE_ADPCM) state_size+= sizeof(YM_DELTAT);
1206 1222 #endif
1207 1223 /* allocate memory block */
1208   - ptr = qemu_malloc(state_size);
  1224 + ptr = malloc(state_size);
  1225 + if(ptr==NULL) return NULL;
1209 1226 /* clear */
1210 1227 memset(ptr,0,state_size);
1211 1228 OPL = (FM_OPL *)ptr; ptr+=sizeof(FM_OPL);
... ...