void print_courses(course_node *head) { course_node *iterator = head; if (iterator->current != NULL) { print_course(iterator->current); } if(iterator->next != NULL) { print_courses(iterator->next); } }
static void route_disp_hdr_cb(const route_head *rte) { current_trk = (route_head *)rte; cur_info = &route_info[route_idx]; cur_info->prev_wpt = NULL; cur_info->total = 0; if (rte->rte_waypt_ct <= 0) return; if (!gtxt_flags.route_header_written) { gtxt_flags.route_header_written = 1; gbfprintf(fout, "\r\n\r\nHeader\t%s\r\n", headers[route_header]); } print_string("\r\nRoute\t%s\t", current_trk->rte_name ? current_trk->rte_name : ""); print_distance(cur_info->length, 0, 1, 0); print_course(cur_info->first_wpt, cur_info->last_wpt); gbfprintf(fout, "\t%d waypoints\t", cur_info->count); print_string("%s\r\n", rte->rte_url ? rte->rte_url : ""); gbfprintf(fout, "\r\nHeader\t%s\r\n\r\n", headers[rtept_header]); }
static void route_disp_wpt_cb(const waypoint *wpt) { waypoint *prev = cur_info->prev_wpt; gbfprintf(fout, "Route Waypoint\t"); gbfprintf(fout, "%s\t", wpt->shortname); if (prev != NULL) { double dist = waypt_distance_ex(prev, wpt); cur_info->total += dist; print_distance(cur_info->total, 0, 1, 0); print_distance(dist, 0, 1, 0); print_course(prev, wpt); } else print_distance(0, 1, 0, 0); gbfprintf(fout, "\r\n"); cur_info->prev_wpt = (waypoint *)wpt; }
static void track_disp_wpt_cb(const waypoint *wpt) { waypoint *prev = cur_info->prev_wpt; time_t delta; double dist, depth; gbfprintf(fout, "Trackpoint\t"); print_position(wpt); print_date_and_time(wpt->creation_time, 0); if IS_VALID_ALT(wpt->altitude) print_distance(wpt->altitude, 1, 0, 0); gbfprintf(fout, "\t"); depth = WAYPT_GET(wpt, depth, unknown_alt); if (depth != unknown_alt) print_distance(depth, 1, 0, 1); if (prev != NULL) { float temp; gbfprintf(fout, "\t"); delta = wpt->creation_time - prev->creation_time; temp = WAYPT_GET(wpt, temperature, -999); if (temp != -999) print_temperature(temp); gbfprintf(fout, "\t"); dist = waypt_distance_ex(prev, wpt); print_distance(dist, 0, 1, 0); print_date_and_time(delta, 1); print_speed(&dist, &delta); print_course(prev, wpt); } gbfprintf(fout, "\r\n"); cur_info->prev_wpt = (waypoint *)wpt; }