void free_backup(debugger_backup* backup) { if (backup == NULL) return; FreeSave(backup->save); free(backup); number_backup--; }
TIFILE_t* FreeTiFile(TIFILE_t * tifile) { if (!tifile) return NULL; if (tifile->save) FreeSave(tifile->save); int i = 0; while(tifile->vars[i] != NULL) { if (tifile->vars[i]->data) free(tifile->vars[i]->data); free(tifile->vars[i]); tifile->vars[i] = NULL; i++; } if (tifile->flash) { int i; for (i = 0; i < 256; i++) { if (tifile->flash->data[i]) free(tifile->flash->data[i]); } free(tifile->flash); } if (tifile->rom) { if (tifile->rom->data) free(tifile->rom->data); free(tifile->rom); } free(tifile); return NULL; }
/* * Class: com_Revsoft_Wabbitemu_CalcInterface * Method: SaveCalcState * Signature: (Ljava/lang/String;)V */ JNIEXPORT jboolean JNICALL Java_com_Revsoft_Wabbitemu_calc_CalcInterface_SaveCalcState (JNIEnv *env, jclass classObj, jstring filePath) { checkThread(); const char *path = env->GetStringUTFChars(filePath, JNI_FALSE); SAVESTATE_t *save; try { save = SaveSlot(lpCalc, "Wabbitemu", "Automatic save state"); } catch (std::exception &e) { _tprintf_s(_T("Exception loading save state: %s"), e.what()); return FALSE; } if (save != NULL) { WriteSave(path, save, ZLIB_CMP); FreeSave(save); } return (jboolean) (save != NULL); }