Make parse_date accept several short forms.

Short forms are only accepted in interactive mode (e.g. when using the
"Go to" function, editing a recurrent item's end date, and so on).

Samples: "1/1/30" for "01/01/2030", "26" for the 26th of the currently
selected month/year or "3/1" for Mar 01 (or Jan 03, depending on the
date format) of the currently selected year.
This commit is contained in:
Lukas Fleischer
2011-01-11 22:10:48 +00:00
parent b8779e714a
commit c8af480f52
7 changed files with 87 additions and 56 deletions

View File

@@ -1,4 +1,4 @@
/* $calcurse: day.c,v 1.53 2010/03/20 10:54:44 culot Exp $ */
/* $calcurse: day.c,v 1.54 2011/01/11 22:10:48 fleischer Exp $ */
/*
* Calcurse - text-based organizer
@@ -757,7 +757,7 @@ update_rept (struct rpt **rpt, const long start, struct conf *conf)
int newmonth, newday, newyear;
if (parse_date (timstr, conf->input_datefmt,
&newyear, &newmonth, &newday))
&newyear, &newmonth, &newday, calendar_get_slctd_day ()))
{
t = start;
lt = localtime (&t);