|
| iMatix home page | << | < | > | >> |
SFLVersion 2.11 |
#include "sfldate.h" Bool valid_date (long date)
Returns TRUE if the date is valid or zero; returns FALSE if the date is not valid.
{
int
month,
day;
Bool
feedback;
static byte
month_days [] = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
month = GET_MONTH (date);
day = GET_DAY (date);
if (date == 0)
feedback = TRUE; /* Zero date is okay */
else
if (month < 1 || month > 12)
feedback = FALSE; /* Month out of range */
else
if ((day < 1 || day > month_days [month - 1])
|| (month == 2 && day == 29 && !leap year (GET_YEAR (date))))
feedback = FALSE; /* Day out of range */
else
feedback = TRUE; /* Zero date is okay */
return (feedback);
}
| | << | < | > | >> |
|