STATIC VOID FreeINI(PXINI pXIni) // in: profile opened with xprfOpenProfile { if (pXIni) { PLISTNODE pAppNode = lstQueryFirstNode(&pXIni->llApps); while (pAppNode) { PXINIAPPDATA pAppDataThis = (PXINIAPPDATA)pAppNode->pItemData; FreeApp(pAppDataThis); pAppNode = pAppNode->pNext; } lstClear(&pXIni->llApps); free(pXIni); } }
STATIC VOID FreeApp(PXINIAPPDATA pAppDataThis) { PLISTNODE pKeyNode = lstQueryFirstNode(&pAppDataThis->llKeys); while (pKeyNode) { PXINIKEYDATA pKeyDataThis = (PXINIKEYDATA)pKeyNode->pItemData; FreeKey(pKeyDataThis); pKeyNode = pKeyNode->pNext; } if (pAppDataThis->pszAppName) free(pAppDataThis->pszAppName); lstClear(&pAppDataThis->llKeys); free(pAppDataThis); }
void mnuClear(struct Menu* mnu) { mnu->currentPos = 0; lstClear(mnu->menuEntries); }