Bugfix adding date components

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@4127 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 1999-04-23 23:17:32 +00:00
parent 28f3b16e21
commit 7a113aa230
2 changed files with 19 additions and 10 deletions

View file

@ -1,3 +1,8 @@
Fri Apr 23 23:35:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* Source/NSCalendarDate.m: Applied bugfixes by Jeremy Bettis
<jeremy@hksys.com> to better cope with month ends.
Fri Apr 23 15:00:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* Source/NSBundle.m: Improved localisation - avoid possibility of

View file

@ -1178,6 +1178,7 @@
month = 1;
year++;
}
i = [self lastDayOfGregorianMonth: month year: year];
}
}
else
@ -1286,21 +1287,24 @@
if (eday < sday)
{
diff--;
if (emonth > 1)
extra = [end lastDayOfGregorianMonth: emonth-1 year: eyear];
else
extra = 31;
extra = [end lastDayOfGregorianMonth: smonth year: syear];
}
if (months)
*months = sign*diff;
else
{
while (diff--) {
if (emonth - diff >= 1)
extra += [end lastDayOfGregorianMonth: emonth-diff year: eyear];
else
extra += [end lastDayOfGregorianMonth: emonth-diff+12 year: eyear-1];
}
while (diff--)
{
int tmpmonth = emonth - diff - 1;
int tmpyear = eyear;
while (tmpmonth < 1)
{
tmpmonth += 12;
tmpyear--;
}
extra += [end lastDayOfGregorianMonth: tmpmonth year: tmpyear];
}
}
/* Calculate day difference and leave any remaining hours in 'extra' */