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

$OpenBSD: patch-ext_date_lib_parse_date_re,v 1.1 2008/12/20 21:35:38 sthen Exp $
--- ext/date/lib/parse_date.re.orig	Sun Oct 26 11:27:32 2008
+++ ext/date/lib/parse_date.re	Fri Dec 19 20:42:27 2008
@@ -1619,7 +1619,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;
@@ -1639,7 +1639,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;
