Mercurial > hg > forks > bilotrip-mj12
changeset 30:26741527f3b7
Add midiFree() utility function.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 05 Aug 2013 19:18:15 +0300 |
parents | 4df6d9714314 |
children | 416346c6dc74 |
files | src/midifile.c |
diffstat | 1 files changed, 15 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- 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; }