Add a function to count dives with a specific suit

Checking against the location field probably wasn't the best way to do
this...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2014-11-13 12:35:12 -08:00
parent 01cd09c77a
commit dae76cdc2d
3 changed files with 16 additions and 1 deletions

14
dive.c
View file

@ -2541,6 +2541,20 @@ int count_dives_with_location(const char *location)
return counter;
}
// count the dives with exactly the suit
int count_dives_with_suit(const char *suit)
{
int i, counter = 0;
struct dive *d;
for_each_dive (i, d) {
if (same_string(d->suit, suit))
counter++;
}
return counter;
}
struct dive *merge_dives(struct dive *a, struct dive *b, int offset, bool prefer_downloaded)
{
struct dive *res = alloc_dive();

1
dive.h
View file

@ -237,6 +237,7 @@ bool taglist_contains(struct tag_entry *tag_list, const char *tag);
int count_dives_with_tag(const char *tag);
int count_dives_with_person(const char *person);
int count_dives_with_location(const char *location);
int count_dives_with_suit(const char *suit);
struct extra_data {
const char *key;

View file

@ -67,7 +67,7 @@ CREATE_DATA_METHOD( CLASS, COUNTER_FUNCTION )
CREATE_COMMON_METHODS_FOR_FILTER(TagFilterModel, count_dives_with_tag);
CREATE_COMMON_METHODS_FOR_FILTER(BuddyFilterModel, count_dives_with_person);
CREATE_COMMON_METHODS_FOR_FILTER(LocationFilterModel, count_dives_with_location);
CREATE_COMMON_METHODS_FOR_FILTER(SuitsFilterModel, count_dives_with_location);
CREATE_COMMON_METHODS_FOR_FILTER(SuitsFilterModel, count_dives_with_suit);
CREATE_INSTANCE_METHOD(MultiFilterSortModel);