From: Jeffrey Malone Date: Sat, 6 Nov 2010 22:58:26 +0000 (-0700) Subject: Fixed bug where the age may be calculated incorrectly due to leap years X-Git-Url: https://vcs.maemo.org/git/?p=magread;a=commitdiff_plain;h=2c46d2a2cab6888087ab8dda52e3bd5e0d1c674e Fixed bug where the age may be calculated incorrectly due to leap years --- 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