Changeset 647 for XIOS/trunk


Ignore:
Timestamp:
07/20/15 11:52:26 (9 years ago)
Author:
rlacroix
Message:

Fix a possible overflow when converting a date in seconds since the time origin.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/date.cpp

    r550 r647  
    103103 
    104104        // Todo : Tester si la date courante est supérieure à la date initiale. 
    105         Time retvalue = getSecondOfYear() - c.getTimeOrigin().getSecondOfYear(); 
     105        Time t = getSecondOfYear() - c.getTimeOrigin().getSecondOfYear(); 
    106106 
    107107        if (c.hasLeapYear()) 
    108108        { 
    109           for (CDate _d(c.getTimeOrigin()); _d.getYear() < getYear(); _d.setYear(_d.getYear() + 1)) 
    110             retvalue += c.getYearTotalLength(_d); 
     109          for (CDate d(c.getTimeOrigin()); d.getYear() < getYear(); d.setYear(d.getYear() + 1)) 
     110            t += c.getYearTotalLength(d); 
    111111        } 
    112112        else 
    113           retvalue += (getYear() - c.getTimeOrigin().getYear()) * c.getYearTotalLength(*this); 
    114  
    115  
    116         return retvalue; 
     113          t += Time(getYear() - c.getTimeOrigin().getYear()) * c.getYearTotalLength(*this); 
     114 
     115        return t; 
    117116      } 
    118117 
Note: See TracChangeset for help on using the changeset viewer.