# HG changeset patch # User Matti Hamalainen # Date 1375719495 -10800 # Node ID 26741527f3b78c0460519a21148e3101875a71a1 # Parent 4df6d97143149562585f1cb969640462b03ead82 Add midiFree() utility function. diff -r 4df6d9714314 -r 26741527f3b7 src/midifile.c --- a/src/midifile.c Mon Aug 05 19:17:05 2013 +0300 +++ b/src/midifile.c Mon Aug 05 19:18:15 2013 +0300 @@ -93,6 +93,12 @@ #define IsMessageValid(_x) ((_x)>=msgNoteOff && (_x)<=msgMetaEvent) +static void midiFree(void *ptr) +{ + if (ptr != NULL) + free(ptr); +} + static BOOL _midiValidateTrack(const _MIDI_FILE *pMF, int iTrack) { if (!IsFilePtrValid(pMF)) @@ -258,7 +264,7 @@ if ((pMF->pFile = fopen(pFilename, "r"))) { fclose(pMF->pFile); - free(pMF); + midiFree(pMF); return NULL; } } @@ -268,7 +274,7 @@ } else { - free((void *) pMF); + midiFree(pMF); return NULL; } @@ -437,8 +443,7 @@ if (!bValidFile) { - if (pMF) - free((void *) pMF); + midiFree(pMF); return NULL; } @@ -532,7 +537,8 @@ } } - free((void *) pEndPoints); + midiFree(pEndPoints); + /* ** Re-calc current position */ @@ -645,14 +651,15 @@ fwrite(pMF->Track[i].pBase, sizeof(BYTE), dwData, pMF->pFile); /* Free memory */ - free((void *) pMF->Track[i].pBase); + midiFree(pMF->Track[i].pBase); } } if (pMF->pFile) return fclose(pMF->pFile) ? FALSE : TRUE; - free((void *) pMF); + + midiFree(pMF); return TRUE; } @@ -1275,7 +1282,6 @@ void midiReadFreeMessage(MIDI_MSG * pMsg) { - if (pMsg->data) - free((void *) pMsg->data); + midiFree(pMsg->data); pMsg->data = NULL; }