diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2020-09-06 12:39:51 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2020-09-06 12:59:54 -0700 |
commit | 7f1def86021eda8cc01911b4944be4bc38ae65fe (patch) | |
tree | 49eec74b2d0a4789e328f9f1728be3aeb882e72f /core/parse.c | |
parent | 55e42373066ade9ad2e1a51adf27a0a28cb0d02a (diff) | |
download | subsurface-7f1def86021eda8cc01911b4944be4bc38ae65fe.tar.gz |
cleanup: use taxonomy_set_category() function
Instead of manipulating the taxonomy structures directly, use the
taxonomy_set_category() function. This improves encapsulation and
gives us the possibility to improve the taxonomy data structures.
This concerns three places:
1) git parser
2) XML parser
3) reverse geo-lookup
This improves the XML parser code slightly: The parser assumes that
the value-attribute comes last (after origin and category). While
it still does that, it now at least generates a warning if it encounters
a value-attribute without origin- or category-attribute.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core/parse.c')
-rw-r--r-- | core/parse.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/core/parse.c b/core/parse.c index f3b7e0b36..1ddb49d60 100644 --- a/core/parse.c +++ b/core/parse.c @@ -203,6 +203,8 @@ void dive_site_start(struct parser_state *state) { if (state->cur_dive_site) return; + state->taxonomy_category = -1; + state->taxonomy_origin = -1; state->cur_dive_site = calloc(1, sizeof(struct dive_site)); } @@ -210,10 +212,6 @@ void dive_site_end(struct parser_state *state) { if (!state->cur_dive_site) return; - if (state->cur_dive_site->taxonomy.nr == 0) { - free(state->cur_dive_site->taxonomy.category); - state->cur_dive_site->taxonomy.category = NULL; - } if (state->cur_dive_site->uuid) { struct dive_site *ds = alloc_or_get_dive_site(state->cur_dive_site->uuid, state->sites); merge_dive_site(ds, state->cur_dive_site); |