summaryrefslogtreecommitdiff
path: root/ext/date/lib/tm2unixtime.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/date/lib/tm2unixtime.c')
-rw-r--r--ext/date/lib/tm2unixtime.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/ext/date/lib/tm2unixtime.c b/ext/date/lib/tm2unixtime.c
index a3d48c59c4..0f59d31516 100644
--- a/ext/date/lib/tm2unixtime.c
+++ b/ext/date/lib/tm2unixtime.c
@@ -205,15 +205,17 @@ static void do_adjust_relative(timelib_time* time)
time->m += time->relative.m;
time->y += time->relative.y;
}
+
switch (time->relative.first_last_day_of) {
- case 1: /* first */
+ case TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH: /* first */
time->d = 1;
break;
- case 2: /* last */
+ case TIMELIB_SPECIAL_LAST_DAY_OF_MONTH: /* last */
time->d = 0;
time->m++;
break;
}
+
timelib_do_normalize(time);
}
@@ -296,6 +298,15 @@ static void do_adjust_special_early(timelib_time* time)
break;
}
}
+ switch (time->relative.first_last_day_of) {
+ case TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH: /* first */
+ time->d = 1;
+ break;
+ case TIMELIB_SPECIAL_LAST_DAY_OF_MONTH: /* last */
+ time->d = 0;
+ time->m++;
+ break;
+ }
timelib_do_normalize(time);
}