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 <lfleischer@calcurse.org>
This commit is contained in:
Lukas Fleischer 2019-06-06 20:42:10 -04:00
parent 16b346a1f4
commit d659a8e2ee
2 changed files with 12 additions and 17 deletions

View File

@ -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;

View File

@ -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, &lt);
strftime(datestr, BUFSIZ, datefmt, &lt);
}
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.