From 2c46d2a2cab6888087ab8dda52e3bd5e0d1c674e Mon Sep 17 00:00:00 2001 From: Jeffrey Malone Date: Sat, 6 Nov 2010 15:58:26 -0700 Subject: [PATCH] Fixed bug where the age may be calculated incorrectly due to leap years --- carddetect.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/carddetect.cpp b/carddetect.cpp index 1e0aacb..e196ca1 100644 --- a/carddetect.cpp +++ b/carddetect.cpp @@ -196,9 +196,10 @@ void CardDetect::aamvaCardCheck( QString expDate ) { card->aamvaBirthday = QDate::fromString( bday, "yyyyMMdd" ); //set the age - /* FIXME a leap year can offset this by a day ... */ card->aamvaAge = QDate::currentDate().year() - card->aamvaBirthday.year(); - if( card->aamvaBirthday.dayOfYear() > QDate::currentDate().dayOfYear() ) + QDate curBday; + curBday.setDate( QDate::currentDate().year(), card->aamvaBirthday.month(), card->aamvaBirthday.day() ); + if( curBday > QDate::currentDate() ) card->aamvaAge--; //set the expiration date -- 1.7.9.5