diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-11-26 14:52:07 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2012-11-26 21:44:51 -0700 |
commit | 6fe52ee19e5e9cd33bd1ceab4609f31829ff2f08 (patch) | |
tree | 1374e09c1eebcb44c4066345fd0f8411e3ca14b9 | |
parent | 3f197336aa3aa1485bd1fdc38d21050006857909 (diff) | |
download | subsurface-6fe52ee19e5e9cd33bd1ceab4609f31829ff2f08.tar.gz |
Simplify tripflags: remove tripflag_names[]
This removes the tripflag name array, since it's not actually useful.
The only information we ever save in the XML file is whether a dive is
explicitly not supposed to ever be grouped with a trip ("NOTRIP"), and
everything else is implicit.
I'm going to simplify the trip flags further (possibly removing it
entirely - like I did for dive trips already), and don't like having to
maintain the tripflag_names[] array logic.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | dive.h | 1 | ||||
-rw-r--r-- | divelist.c | 5 | ||||
-rw-r--r-- | parse-xml.c | 10 | ||||
-rw-r--r-- | save-xml.c | 10 |
4 files changed, 4 insertions, 22 deletions
@@ -270,7 +270,6 @@ struct divecomputer { #define W_IDX_SECONDARY 1 typedef enum { TF_NONE, NO_TRIP, IN_TRIP, ASSIGNED_TRIP, NUM_TRIPFLAGS } tripflag_t; -extern const char *tripflag_names[NUM_TRIPFLAGS]; typedef struct dive_trip { timestamp_t when; diff --git a/divelist.c b/divelist.c index 2d759a606..566cf0bf9 100644 --- a/divelist.c +++ b/divelist.c @@ -43,11 +43,6 @@ static struct DiveList dive_list; dive_trip_t *dive_trip_list; gboolean autogroup = FALSE; -/* this duplicate assignment of "INTRIP" causes the save_xml code - * to convert an ASSIGNED_TRIP (which is temporary in memory) to - * a statically assigned trip (INTRIP) in file */ -const char *tripflag_names[NUM_TRIPFLAGS] = { "TF_NONE", "NOTRIP", "INTRIP", "INTRIP" }; - /* * The dive list has the dive data in both string format (for showing) * and in "raw" format (for sorting purposes) diff --git a/parse-xml.c b/parse-xml.c index 1d08ca009..35e87a2d5 100644 --- a/parse-xml.c +++ b/parse-xml.c @@ -533,14 +533,8 @@ static void hex_value(char *buffer, void *_i) static void get_tripflag(char *buffer, void *_tf) { tripflag_t *tf = _tf; - tripflag_t i; - - *tf = TF_NONE; - for (i = NO_TRIP; i < NUM_TRIPFLAGS; i++) - if(! strcmp(buffer, tripflag_names[i])) { - *tf = i; - break; - } + *tf = strcmp(buffer, "NOTRIP") ? TF_NONE : NO_TRIP; + free(buffer); } static void centibar(char *buffer, void *_pressure) diff --git a/save-xml.c b/save-xml.c index 58faf6aeb..8d7d7f889 100644 --- a/save-xml.c +++ b/save-xml.c @@ -373,14 +373,8 @@ static void save_dive(FILE *f, struct dive *dive) fputs("<dive", f); if (dive->number) fprintf(f, " number='%d'", dive->number); - /* - * TF_NONE is the default for dives with no trips - * IN_TRIP is the default for dives with trips - * ASSIGNED_TRIP is an in-memory thing and gets converted - * to IN_TRIP by the save code. - */ - if (dive->tripflag != TF_NONE && dive->tripflag != IN_TRIP && dive->tripflag != ASSIGNED_TRIP) - fprintf(f, " tripflag='%s'", tripflag_names[dive->tripflag]); + if (dive->tripflag == NO_TRIP) + fprintf(f, " tripflag='NOTRIP'"); if (dive->rating) fprintf(f, " rating='%d'", dive->rating); if (dive->visibility) |