/* allocate a new site and add it to the table */ uint32_t create_dive_site(const char *name) { struct dive_site *ds = alloc_dive_site(0); ds->name = copy_string(name); return ds->uuid; }
/* same as before, but with GPS data */ uint32_t create_dive_site_with_gps(const char *name, degrees_t latitude, degrees_t longitude) { struct dive_site *ds = alloc_dive_site(0); ds->name = copy_string(name); ds->latitude = latitude; ds->longitude = longitude; return ds->uuid; }
static int parse_site_entry(git_repository *repo, const git_tree_entry *entry, const char *suffix) { if (*suffix == '\0') return report_error("Dive site without uuid"); struct dive_site *ds = alloc_dive_site(0); ds->uuid = strtoul(suffix, NULL, 16); git_blob *blob = git_tree_entry_blob(repo, entry); if (!blob) return report_error("Unable to read dive site file"); for_each_line(blob, site_parser, ds); git_blob_free(blob); return 0; }
void TestParse::testParseDivingLog() { // Parsing of DivingLog import from SQLite database sqlite3 *handle; struct dive_site *ds = alloc_dive_site(0xdeadbeef); ds->name = copy_string("Suomi - - Hälvälä"); QCOMPARE(sqlite3_open(SUBSURFACE_SOURCE "/dives/TestDivingLog4.1.1.sql", &handle), 0); QCOMPARE(parse_divinglog_buffer(handle, 0, 0, 0, &dive_table), 0); sqlite3_close(handle); }