+void update_dive(struct dive *new_dive)
+{
+ static struct dive *buffered_dive;
+ struct dive *old_dive = buffered_dive;
+
+ if (old_dive) {
+ flush_dive_info_changes(old_dive);
+ flush_dive_equipment_changes(old_dive);
+ }
+ if (new_dive) {
+ buffered_dive = new_dive;
+ show_dive_info(new_dive);
+ show_dive_equipment(new_dive);
+ }
+}
+