from upstream cvs, fixes bug 46889, memory leak in strtotime()

$OpenBSD: patch-ext_date_lib_parse_date_c,v 1.1 2008/12/20 21:35:38 sthen Exp $
--- ext/date/lib/parse_date.c.orig	Sun Dec  7 19:31:16 2008
+++ ext/date/lib/parse_date.c	Fri Dec 19 20:42:27 2008
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Sun Oct 26 11:59:08 2008 */
+/* Generated by re2c 0.13.5 on Thu Dec 18 15:52:22 2008 */
 /*
    +----------------------------------------------------------------------+
    | PHP Version 5                                                        |
@@ -22395,7 +22395,7 @@ timelib_time* timelib_strtotime(char *s, int len, stru
 
 void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options)
 {
-	if (!(options && TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) {
+	if (!(options & TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) {
 		parsed->h = 0;
 		parsed->i = 0;
 		parsed->s = 0;
@@ -22415,7 +22415,7 @@ void timelib_fill_holes(timelib_time *parsed, timelib_
 		parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL;
 	}
 	if (!parsed->tz_info) {
-		parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL;
+		parsed->tz_info = now->tz_info ? (!(options & TIMELIB_NO_CLONE) ? timelib_tzinfo_clone(now->tz_info) : now->tz_info) : NULL;
 	}
 	if (parsed->zone_type == 0 && now->zone_type != 0) {
 		parsed->zone_type = now->zone_type;
