]> git.proxmox.com Git - qemu.git/commitdiff
Revert changes to fmopl.c
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 6 Feb 2009 00:15:19 +0000 (00:15 +0000)
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 6 Feb 2009 00:15:19 +0000 (00:15 +0000)
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

hw/fmopl.c

index b45b9c872dc0364e6d3213157ffdfe4fddb42c21..52cf35e3f9425fd7b0fdc5b89bb0885898449474 100644 (file)
@@ -619,10 +619,26 @@ static int OPLOpenTable( void )
        double pom;
 
        /* allocate dynamic tables */
-       TL_TABLE = qemu_malloc(TL_MAX*2*sizeof(INT32));
-       SIN_TABLE = qemu_malloc(SIN_ENT*4 *sizeof(INT32 *));
-       AMS_TABLE = qemu_malloc(AMS_ENT*2 *sizeof(INT32));
-       VIB_TABLE = qemu_malloc(VIB_ENT*2 *sizeof(INT32));
+       if( (TL_TABLE = malloc(TL_MAX*2*sizeof(INT32))) == NULL)
+               return 0;
+       if( (SIN_TABLE = malloc(SIN_ENT*4 *sizeof(INT32 *))) == NULL)
+       {
+               free(TL_TABLE);
+               return 0;
+       }
+       if( (AMS_TABLE = malloc(AMS_ENT*2 *sizeof(INT32))) == NULL)
+       {
+               free(TL_TABLE);
+               free(SIN_TABLE);
+               return 0;
+       }
+       if( (VIB_TABLE = malloc(VIB_ENT*2 *sizeof(INT32))) == NULL)
+       {
+               free(TL_TABLE);
+               free(SIN_TABLE);
+               free(AMS_TABLE);
+               return 0;
+       }
        /* make total level table */
        for (t = 0;t < EG_ENT-1 ;t++){
                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)
        if(type&OPL_TYPE_ADPCM) state_size+= sizeof(YM_DELTAT);
 #endif
        /* allocate memory block */
-       ptr = qemu_malloc(state_size);
+       ptr = malloc(state_size);
+       if(ptr==NULL) return NULL;
        /* clear */
        memset(ptr,0,state_size);
        OPL        = (FM_OPL *)ptr; ptr+=sizeof(FM_OPL);