flib_team *flib_teamlist_find(const flib_teamlist *list, const char *name) { flib_team *result = NULL; if(!log_badargs_if2(list==NULL, name==NULL)) { int itemid = findTeam(list, name); if(itemid>=0) { result = list->teams[itemid]; } } return result; }
int flib_teamlist_delete(flib_teamlist *list, const char *name) { int result = -1; if(!log_badargs_if2(list==NULL, name==NULL)) { int itemid = findTeam(list, name); if(itemid>=0) { flib_team *team = list->teams[itemid]; if(!deleteTeam(&list->teams, &list->teamCount, itemid)) { flib_team_destroy(team); result = 0; } } } return result; }
int main( const int argc, const char const *argv[] ) { static nst_save_state_s empty_save_state = { 0 }; const char *rom_filename = NULL; const char *ss_filename = NULL; tsbrom_s *rom = NULL; nst_save_state_s *save_state = NULL; nst_matchup_s *match = NULL; unsigned char *state_file = NULL; organization_s *organization = NULL; team_s *road_team = NULL; team_s *home_team = NULL; int save_state_len = 0; if ( argc != 3 ) { printf( "Usage: %s <rom_file> <save_state_file>\n", argv[0] ); return EXIT_SUCCESS; } rom_filename = argv[1]; ss_filename = argv[2]; if ( (rom = readTsbRom( rom_filename )) == NULL ) { printf( "Error reading rom: %s\n", getFileUtilsError() ); return EXIT_FAILURE; } if ( (state_file = readNstSaveState( ss_filename, &save_state_len )) == NULL ) { printf( "Error reading Save State: %s\n", getFileUtilsError() ); free( rom ); return EXIT_FAILURE; } if ( (save_state = getSaveStateStats( state_file, save_state_len )) == NULL ) { printf( "Error retrieving stats from Save State: %s\n", getFileUtilsError() ); free( rom ); free( state_file ); return EXIT_FAILURE; } if ( (organization = convertOrganization( rom, &empty_save_state, rom, &empty_save_state, 0, bg_None )) == NULL ) { printf( "Error converting rom and save state data: %s\n", getConvertOrganizationError() ); free( rom ); free( state_file ); return EXIT_FAILURE; } if ( (match = findMatch( save_state )) == NULL ) { printf( "Unable to retrieve match\n" ); free( rom ); free( state_file ); free_organization( organization ); return EXIT_FAILURE; } if ( (road_team = findTeam( organization, match->road[0] )) == NULL ) { printf( "Road team <%d> not found in rom\n", match->road[0] ); free( rom ); free( state_file ); free_organization( organization ); return EXIT_FAILURE; } if ( (home_team = findTeam( organization, match->home[0] )) == NULL ) { printf( "Home team <%d> not found in rom\n", match->home[0] ); free( rom ); free( state_file ); free_organization( organization ); return EXIT_FAILURE; } loadGameStats( road_team, home_team, save_state, state_file ); printBoxscore( road_team, home_team, save_state ); free( rom ); free( state_file ); free_organization( organization ); return EXIT_SUCCESS; }