void SaveModel(CbcModel& model) { char tmpName[64]; strcpy(tmpName, "/tmp/XXXXXX"); auto fd = mkstemp(tmpName); FILE* fp = fdopen(fd, "w"); model.generateCpp(fp, 0); fclose(fp); close(fd); if (rename(tmpName, recoveryPath.c_str())) { throw runtime_error("unable to save model"); } }