Boost logo

Boost Users :

From: Jeff Garland (jeff_at_[hidden])
Date: 2005-10-23 20:44:02


On Mon, 22 Aug 2005 11:26:12 +0200, Guido Spahn wrote
> Hello,
>
> when adding a negative number of months to a date(y, m, d), an
> exception "Month number is out of range 1..12" is raised if the
> resulting month m2 belongs to a year y2 < y and m2 > m. For example
>
> date(2005, Jan, 1) + months(-1) fails
> date(2005, Feb, 1) + months(-1) doesn't fail
> date(2005, Feb, 1) + months(-2) fails
> date(2005, Feb, 1) + months(-12) doesn't fail
> date(2005, Feb, 1) + months(-13) doesn't fail
> date(2005, Feb, 1) + months(-14) fails
>
> I checked it only with release 1.33 using the appended code. There
> is no problem adding or substracting any positive number of months.
>
> Hopefully I didn't miss this topic in the mailing list archive.
> Thanks in advance,

Just in the way of a final followup to this message, I've checked a fix into
1.33.1 for this problem. It's actually been fixed in the mainline for awhile
now. As you pointed out, this problem was particular to using negative months.
 If you want to just patch your 1.33 version you just need to pick up the
latest version of boost/date_time/wrapping_int.hpp.

Thx again for the report.

Jeff


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net