core: add make_manually_added_dc() function

For reasons of symmetry (there is a is_manually_added_dc()
function), create a make_manually_added_dc() function.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2022-10-21 18:12:11 +02:00 committed by Dirk Hohndel
parent f687e51d4b
commit 261f07dfa4
5 changed files with 12 additions and 4 deletions

View file

@ -549,8 +549,15 @@ void free_dc(struct divecomputer *dc)
free(dc);
}
static const char *manual_dc_name = "manually added dive";
bool is_manually_added_dc(const struct divecomputer *dc)
{
return dc && dc->samples <= 50 &&
same_string(dc->model, "manually added dive");
same_string(dc->model, manual_dc_name);
}
void make_manually_added_dc(struct divecomputer *dc)
{
free((void *)dc->model);
dc->model = strdup(manual_dc_name);
}

View file

@ -70,6 +70,7 @@ extern void add_extra_data(struct divecomputer *dc, const char *key, const char
extern bool is_dc_planner(const struct divecomputer *dc);
extern uint32_t calculate_string_hash(const char *str);
extern bool is_manually_added_dc(const struct divecomputer *dc);
extern void make_manually_added_dc(struct divecomputer *dc);
/* Check if two dive computer entries are the exact same dive (-1=no/0=maybe/1=yes) */
extern int match_one_dc(const struct divecomputer *a, const struct divecomputer *b);

View file

@ -690,7 +690,7 @@ void MainWindow::on_actionAddDive_triggered()
d.dc.duration.seconds = 40 * 60;
d.dc.maxdepth.mm = M_OR_FT(15, 45);
d.dc.meandepth.mm = M_OR_FT(13, 39); // this creates a resonable looking safety stop
d.dc.model = strdup("manually added dive"); // don't translate! this is stored in the XML file
make_manually_added_dc(&d.dc);
fake_dc(&d.dc);
fixup_dive(&d);

View file

@ -1716,7 +1716,7 @@ int QMLManager::addDive()
d.dc.duration.seconds = 40 * 60;
d.dc.maxdepth.mm = M_OR_FT(15, 45);
d.dc.meandepth.mm = M_OR_FT(13, 39); // this creates a resonable looking safety stop
d.dc.model = strdup("manually added dive"); // don't translate! this is stored in the XML file
make_manually_added_dc(&d.dc);
fake_dc(&d.dc);
fixup_dive(&d);

View file

@ -868,7 +868,7 @@ static int prepare_data(int data_model, char *serial, dc_family_t dc_fam, device
{
dev_data->device = NULL;
dev_data->context = NULL;
if (!data_model){
if (!data_model) {
dev_data->model = copy_string("manually added dive");
dev_data->descriptor = NULL;
return DC_STATUS_NODEVICE;