From c04fee7e14a56c2d1f3414db2c49851832a785fd Mon Sep 17 00:00:00 2001 From: Frederic Culot Date: Sat, 1 Sep 2007 21:26:12 +0000 Subject: bugfix: shift in date_arg(), thanks Herbert for reporting this bug --- src/args.c | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/args.c b/src/args.c index dbe42cb..08cc8ee 100755 --- a/src/args.c +++ b/src/args.c @@ -1,4 +1,4 @@ -/* $calcurse: args.c,v 1.24 2007/08/15 15:36:49 culot Exp $ */ +/* $calcurse: args.c,v 1.25 2007/09/01 21:26:12 culot Exp $ */ /* * Calcurse - text-based organizer @@ -203,7 +203,7 @@ arg_print_date(long date) * If there is also no date given, current date is considered. */ static int -app_arg(int add_line, date_t day, long date) +app_arg(int add_line, date_t *day, long date) { struct recur_event_s *re; struct event_s *j; @@ -216,7 +216,7 @@ app_arg(int add_line, date_t day, long date) char apoint_end_time[100]; if (date == 0) - today = get_sec_date(day); + today = get_sec_date(*day); else today = date; @@ -322,12 +322,7 @@ date_arg(char *ddate, int add_line) int numdays = 0, num_digit = 0; int arg_len = 0, app_found = 0; int date_valid = 0; - long today, ind; - int sec_in_day = 86400; - - day.dd = 0; - day.mm = 0; - day.yyyy = 0; + long ind; /* * Check (with the argument length) if a date or a number of days @@ -347,18 +342,17 @@ date_arg(char *ddate, int add_line) * in the chosen interval. app_found and add_line are used * to format the output correctly. */ - today = get_sec_date(day); - ind = today; + ind = get_today(); for (i = 0; i < numdays; i++) { - app_found = app_arg(add_line, day, ind); + app_found = app_arg(add_line, 0L, ind); add_line = app_found; - ind = ind + sec_in_day; + ind += DAYINSEC + MININSEC; } } else { /* a date was entered */ date_valid = check_date(ddate); if (date_valid) { sscanf(ddate, "%d / %d / %d", &day.mm, &day.dd, &day.yyyy); - app_found = app_arg(add_line, day, 0); + app_found = app_arg(add_line, &day, 0); } else { fputs(_("Argument to the '-d' flag is not valid\n"), stdout); @@ -513,7 +507,7 @@ parse_args(int argc, char **argv, conf_t *conf) } else if (aflag) { date_t day; day.dd = day.mm = day.yyyy = 0; - app_found = app_arg(add_line,day,0); + app_found = app_arg(add_line, &day, 0); non_interactive = 1; } } else { -- cgit v1.2.3-70-g09d2