From d659a8e2eec44bba08ec498912e5217b28c4409b Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Thu, 6 Jun 2019 20:42:10 -0400 Subject: Use empty end date instead of 0 when editing repetitions Since commit 987fa9d (Allow to omit end date in repetitions, 2019-06-03), one can provide an empty date instead of using the value 0 to omit the end date of a repetition. Use this as default value when editing repetitions without an end date. Signed-off-by: Lukas Fleischer --- src/ui-day.c | 5 ++++- src/utils.c | 24 ++++++++---------------- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/ui-day.c b/src/ui-day.c index c90edc1..fa106c8 100644 --- a/src/ui-day.c +++ b/src/ui-day.c @@ -364,7 +364,10 @@ static void update_rept(struct rpt **rpt, const long start) for (;;) { mem_free(timstr); - timstr = date_sec2date_str((*rpt)->until, DATEFMT(conf.input_datefmt)); + if ((*rpt)->until) + timstr = date_sec2date_str((*rpt)->until, DATEFMT(conf.input_datefmt)); + else + timstr = mem_strdup(""); status_mesg(msg_until_1, ""); if (updatestring(win[STA].p, &timstr, 0, 1) == GETSTRING_ESC) goto cleanup; diff --git a/src/utils.c b/src/utils.c index 0acad9f..8a8de75 100644 --- a/src/utils.c +++ b/src/utils.c @@ -487,22 +487,6 @@ int date_cmp_day(time_t d1, time_t d2) return 0; } -/* Return a string containing the date, given a date in seconds. */ -char *date_sec2date_str(time_t sec, const char *datefmt) -{ - struct tm lt; - char *datestr = (char *)mem_calloc(BUFSIZ, sizeof(char)); - - if (sec == 0) { - strncpy(datestr, "0", BUFSIZ); - } else { - localtime_r(&sec, <); - strftime(datestr, BUFSIZ, datefmt, <); - } - - return datestr; -} - /* Generic function to format date. */ void date_sec2date_fmt(time_t sec, const char *fmt, char *datef) { @@ -522,6 +506,14 @@ void date_sec2date_fmt(time_t sec, const char *fmt, char *datef) #endif } +/* Return a string containing the date, given a date in seconds. */ +char *date_sec2date_str(time_t sec, const char *datefmt) +{ + char *datestr = (char *)mem_calloc(BUFSIZ, sizeof(char)); + date_sec2date_fmt(sec, datefmt, datestr); + return datestr; +} + /* * Used to change date by adding a certain amount of days or months. * Returns 0 on success, 1 otherwise. -- cgit v1.2.3