mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Save XML: sort the dive sites by uuid
This makes it much easier to compare XML files written by Subsurface. The order of the dive_site_table depended on the order in which they were encountered. This makes it easier to eye-ball changes in XML files. And allows the GitStorage test to pass. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
e03b553e80
commit
420afeef57
3 changed files with 15 additions and 1 deletions
12
divesite.c
12
divesite.c
|
@ -263,3 +263,15 @@ uint32_t find_or_create_dive_site_with_name(const char *name, timestamp_t diveti
|
|||
return ds->uuid;
|
||||
return create_dive_site(name, divetime);
|
||||
}
|
||||
|
||||
static int compare_sites(const void *_a, const void *_b)
|
||||
{
|
||||
const struct dive_site *a = (const struct dive_site *)*(void **)_a;
|
||||
const struct dive_site *b = (const struct dive_site *)*(void **)_b;
|
||||
return a->uuid > b->uuid ? 1 : a->uuid == b->uuid ? 0 : -1;
|
||||
}
|
||||
|
||||
void dive_site_table_sort()
|
||||
{
|
||||
qsort(dive_site_table.dive_sites, dive_site_table.nr, sizeof(struct dive_site *), compare_sites);
|
||||
}
|
||||
|
|
|
@ -49,6 +49,7 @@ static inline struct dive_site *get_dive_site_by_uuid(uint32_t uuid)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
void dive_site_table_sort();
|
||||
struct dive_site *alloc_dive_site(uint32_t uuid);
|
||||
int nr_of_dives_at_dive_site(uint32_t uuid, bool select_only);
|
||||
bool is_dive_site_used(uint32_t uuid, bool select_only);
|
||||
|
|
|
@ -507,7 +507,8 @@ void save_dives_buffer(struct membuffer *b, const bool select_only)
|
|||
put_format(b, " <autogroup state='1' />\n");
|
||||
put_format(b, "</settings>\n");
|
||||
|
||||
/* save the dive sites */
|
||||
/* save the dive sites - to make the output consistent let's sort the table, first */
|
||||
dive_site_table_sort();
|
||||
put_format(b, "<divesites>\n");
|
||||
for (i = 0; i < dive_site_table.nr; i++) {
|
||||
int j;
|
||||
|
|
Loading…
Reference in a new issue