summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--divelist-gtk.c6
-rw-r--r--divelist.c28
-rw-r--r--divelist.h4
3 files changed, 21 insertions, 17 deletions
diff --git a/divelist-gtk.c b/divelist-gtk.c
index e1482ee06..a5d70f348 100644
--- a/divelist-gtk.c
+++ b/divelist-gtk.c
@@ -258,7 +258,6 @@ static void date_data_func(GtkTreeViewColumn *col,
gpointer data)
{
int idx, nr;
- struct tm tm;
timestamp_t when;
/* this should be enought for most languages. if not increase the value. */
char *buffer;
@@ -266,11 +265,10 @@ static void date_data_func(GtkTreeViewColumn *col,
gtk_tree_model_get(model, iter, DIVE_INDEX, &idx, DIVE_DATE, &when, -1);
nr = gtk_tree_model_iter_n_children(model, iter);
- utc_mkdate(when, &tm);
if (idx < 0) {
- buffer = get_trip_date_string(&tm, nr);
+ buffer = get_trip_date_string(when, nr);
} else {
- buffer = get_dive_date_string(&tm);
+ buffer = get_dive_date_string(when);
}
g_object_set(renderer, "text", buffer, NULL);
free(buffer);
diff --git a/divelist.c b/divelist.c
index bd1e90224..e34f7afeb 100644
--- a/divelist.c
+++ b/divelist.c
@@ -561,31 +561,37 @@ void get_suit(struct dive *dive, char **str)
#define MAX_DATE_STRING 256
/* caller needs to free the string */
-char *get_dive_date_string(struct tm *tm) {
+char *get_dive_date_string(timestamp_t when) {
char *buffer = malloc(MAX_DATE_STRING);
- if (buffer)
+ if (buffer) {
+ struct tm tm;
+ utc_mkdate(when, &tm);
snprintf(buffer, MAX_DATE_STRING,
/*++GETTEXT 60 char buffer weekday, monthname, day of month, year, hour:min */
_("%1$s, %2$s %3$d, %4$d %5$02d:%6$02d"),
- weekday(tm->tm_wday),
- monthname(tm->tm_mon),
- tm->tm_mday, tm->tm_year + 1900,
- tm->tm_hour, tm->tm_min);
+ weekday(tm.tm_wday),
+ monthname(tm.tm_mon),
+ tm.tm_mday, tm.tm_year + 1900,
+ tm.tm_hour, tm.tm_min);
+ }
return buffer;
}
/* caller needs to free the string */
-char *get_trip_date_string(struct tm *tm, int nr) {
+char *get_trip_date_string(timestamp_t when, int nr) {
char *buffer = malloc(MAX_DATE_STRING);
- if (buffer)
+ if (buffer) {
+ struct tm tm;
+ utc_mkdate(when, &tm);
snprintf(buffer, MAX_DATE_STRING,
/*++GETTEXT 60 char buffer weekday, monthname, day of month, year, nr dives */
ngettext("Trip %1$s, %2$s %3$d, %4$d (%5$d dive)",
"Trip %1$s, %2$s %3$d, %4$d (%5$d dives)", nr),
- weekday(tm->tm_wday),
- monthname(tm->tm_mon),
- tm->tm_mday, tm->tm_year + 1900,
+ weekday(tm.tm_wday),
+ monthname(tm.tm_mon),
+ tm.tm_mday, tm.tm_year + 1900,
nr);
+ }
return buffer;
}
diff --git a/divelist.h b/divelist.h
index 47680f9b2..f3054d213 100644
--- a/divelist.h
+++ b/divelist.h
@@ -30,8 +30,8 @@ extern void export_all_dives_uddf_cb();
/* divelist core logic functions */
extern void process_dives(bool imported, bool prefer_imported);
-extern char *get_dive_date_string(struct tm *tm);
-extern char *get_trip_date_string(struct tm *tm, int nr);
+extern char *get_dive_date_string(timestamp_t when);
+extern char *get_trip_date_string(timestamp_t when, int nr);
extern void clear_trip_indexes(void);
extern dive_trip_t *find_trip_by_idx(int idx);
extern int dive_nr_sort(int idx_a, int idx_b, timestamp_t when_a, timestamp_t when_b);