summaryrefslogtreecommitdiffstats
path: root/parse-xml.c
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2015-01-09 14:35:31 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-01-09 15:06:18 -0800
commit6f25713408797bb5563af730ca991bc5ec474e33 (patch)
tree799d7cf822049bc41d33e31c3063e80ce76142b6 /parse-xml.c
parenta92484e4edd7ad2609d9d9e09cdb064e370e745d (diff)
downloadsubsurface-6f25713408797bb5563af730ca991bc5ec474e33.tar.gz
Add more infrastructure for a separate dive table
This will allow us to download the dives from the dive computer into a separate table just for that purpose and not into the main dive_table. I really dislike the code that's in place that dates back to the very earliest code written for Subsurface. Dumping the dives straight into the main dive_table seems really stupid to me. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'parse-xml.c')
-rw-r--r--parse-xml.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/parse-xml.c b/parse-xml.c
index fe13f66f2..bd6e21bec 100644
--- a/parse-xml.c
+++ b/parse-xml.c
@@ -49,9 +49,19 @@ int trimspace(char *buffer) {
}
/*
+ * Clear a dive_table
+ */
+void clear_table(struct dive_table *table)
+{
+ for (int i = 0; i < table->nr; i++)
+ free(table->dives[i]);
+ table->nr = 0;
+}
+
+/*
* Add a dive into the dive_table array
*/
-static void record_dive_to_table(struct dive *dive, struct dive_table *table)
+void record_dive_to_table(struct dive *dive, struct dive_table *table)
{
assert(table != NULL);
int nr = table->nr, allocated = table->allocated;