mission_t* mission = NULL; [...] while (list) { mission = (mission_t *)list->data; /* check whether current selected gametype is a valid one */ if (!Q_strcmp(SEARCH_MISSION_ID_STRING, mission->id)) { break; } list = list->next; } if (mission != NULL) /* found */ else /* not found */