home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 463.lha / Date_routines / valid_date.c < prev    next >
Text File  |  1991-01-04  |  742b  |  32 lines

  1. /*****
  2.                               valid_date()
  3.  
  4.       This function determines whether a date is valid.
  5.  
  6.    Argument list:    int month      the month
  7.                      int day        the day
  8.                      int year       the year
  9.  
  10.    Return value:     int            1 if valid, 0 if not
  11.  
  12. *****/
  13.  
  14. int valid_date(int day, int month, int year)
  15. {
  16.    static int days[] = {0, 31, 28, 31, 30, 31, 30,
  17.                            31, 31, 30, 31, 30, 31};
  18.  
  19.    if (month > 12 || month < 1 || day > 31 || day < 1)
  20.       return 0;
  21.  
  22.    if (day > days[month]) {
  23.       if (month == 2 && day == 29) {   /* Special check for leap year */
  24.          if (leapyear(year)) {
  25.             return 1;
  26.          }
  27.       }
  28.       return 0;
  29.    }
  30.    return 1;
  31. }
  32.