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 (;;) { for (;;) {
mem_free(timstr); 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, ""); status_mesg(msg_until_1, "");
if (updatestring(win[STA].p, &timstr, 0, 1) == GETSTRING_ESC) if (updatestring(win[STA].p, &timstr, 0, 1) == GETSTRING_ESC)
goto cleanup; goto cleanup;

View File

@ -487,22 +487,6 @@ int date_cmp_day(time_t d1, time_t d2)
return 0; 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. */ /* Generic function to format date. */
void date_sec2date_fmt(time_t sec, const char *fmt, char *datef) 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 #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. * Used to change date by adding a certain amount of days or months.
* Returns 0 on success, 1 otherwise. * Returns 0 on success, 1 otherwise.