better checking of the entered date in goto_day()
This commit is contained in:
parent
b2232aed0c
commit
9286299e3d
@ -1,4 +1,4 @@
|
|||||||
/* $calcurse: calendar.c,v 1.4 2006/12/10 14:51:41 culot Exp $ */
|
/* $calcurse: calendar.c,v 1.5 2007/01/10 13:43:51 culot Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Calcurse - text-based organizer
|
* Calcurse - text-based organizer
|
||||||
@ -188,25 +188,28 @@ goto_day(int colr, int day, int month, int year,
|
|||||||
#define LDAY 11
|
#define LDAY 11
|
||||||
char selected_day[LDAY] = "";
|
char selected_day[LDAY] = "";
|
||||||
int dday, dmonth, dyear;
|
int dday, dmonth, dyear;
|
||||||
int wrong_day = 0;
|
int wrong_day = 1;
|
||||||
char *mesg_line1 = _("The day you entered is not valid");
|
char *mesg_line1 = _("The day you entered is not valid");
|
||||||
char *mesg_line2 = _("Press [ENTER] to continue");
|
char *mesg_line2 = _("Press [ENTER] to continue");
|
||||||
char *request_date = _("Enter the day to go to [ENTER for today] : mm/dd/yyyy");
|
char *request_date = _("Enter the day to go to [ENTER for today] : mm/dd/yyyy");
|
||||||
|
|
||||||
while (wrong_day != 1) {
|
while (wrong_day) {
|
||||||
status_mesg(request_date, "");
|
status_mesg(request_date, "");
|
||||||
if (getstring(swin, colr, selected_day, LDAY, 0, 1) == 1)
|
if (getstring(swin, colr, selected_day, LDAY, 0, 1) == 1)
|
||||||
return;
|
return;
|
||||||
else {
|
else {
|
||||||
if (strlen(selected_day) == 0) {
|
if (strlen(selected_day) == 0) {
|
||||||
// go to today
|
// go to today
|
||||||
|
wrong_day = 0;
|
||||||
*sel_day = day;
|
*sel_day = day;
|
||||||
*sel_month = month;
|
*sel_month = month;
|
||||||
*sel_year = year;
|
*sel_year = year;
|
||||||
break;
|
} else if (strlen(selected_day) != LDAY - 1) {
|
||||||
|
wrong_day = 1;
|
||||||
} else {
|
} else {
|
||||||
sscanf(selected_day, "%u/%u/%u",
|
sscanf(selected_day, "%u/%u/%u",
|
||||||
&dmonth, &dday, &dyear);
|
&dmonth, &dday, &dyear);
|
||||||
|
wrong_day = 0;
|
||||||
//check if the entered day is correct
|
//check if the entered day is correct
|
||||||
if ((dday <= 0) | (dday >= 32))
|
if ((dday <= 0) | (dday >= 32))
|
||||||
wrong_day = 1;
|
wrong_day = 1;
|
||||||
@ -219,12 +222,12 @@ goto_day(int colr, int day, int month, int year,
|
|||||||
*sel_day = dday;
|
*sel_day = dday;
|
||||||
*sel_month = dmonth;
|
*sel_month = dmonth;
|
||||||
*sel_year = dyear;
|
*sel_year = dyear;
|
||||||
} else {
|
}
|
||||||
|
}
|
||||||
|
if (wrong_day) {
|
||||||
status_mesg(mesg_line1, mesg_line2);
|
status_mesg(mesg_line1, mesg_line2);
|
||||||
wgetch(swin);
|
wgetch(swin);
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user