Start cleaning up dive accessors
I'm going to add a menu to import (and eventually export) dives, and so we'd like to be able to start out with no dives at all. Right now we croak if that happens - it's not like the code has been written with actual end users in mind. So start cleaning things up. First make the 'current_dive' macro work right even for invalid dives. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
c17300cfaa
commit
00d798854a
@ -6,12 +6,12 @@
|
||||
#include <cairo.h>
|
||||
|
||||
extern int selected_dive;
|
||||
#define current_dive (get_dive(selected_dive))
|
||||
|
||||
extern GtkWidget *dive_profile_frame(void);
|
||||
extern GtkWidget *dive_info_frame(void);
|
||||
extern GtkWidget *create_dive_list(void);
|
||||
extern void update_dive_info(struct dive *dive);
|
||||
extern void repaint_dive(void);
|
||||
|
||||
#define current_dive (dive_table.dives[selected_dive])
|
||||
|
||||
#endif
|
||||
|
||||
7
dive.h
7
dive.h
@ -121,6 +121,13 @@ struct dive_table {
|
||||
|
||||
extern struct dive_table dive_table;
|
||||
|
||||
static inline struct dive *get_dive(unsigned int nr)
|
||||
{
|
||||
if (nr >= dive_table.nr)
|
||||
return NULL;
|
||||
return dive_table.dives[nr];
|
||||
}
|
||||
|
||||
extern void parse_xml_init(void);
|
||||
extern void parse_xml_file(const char *filename);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user