nlopess Sat Apr 25 16:33:41 2009 UTC
Modified files: (Branch: PHP_5_3)
/php-src/ext/date/lib parse_tz.c
Log:
fix strict aliasing problems.
this should fix the crash that Sebastian was having with gcc 4.4. Please
confirm this is the case
http://cvs.php.net/viewvc.cgi/php-src/ext/date/lib/parse_tz.c?r1=1.20.2.6.2.13.2.5r2=1.20.2.6.2.13.2.6diff_format=u
Index: php-src/ext/date/lib/parse_tz.c
diff -u php-src/ext/date/lib/parse_tz.c:1.20.2.6.2.13.2.5
php-src/ext/date/lib/parse_tz.c:1.20.2.6.2.13.2.6
--- php-src/ext/date/lib/parse_tz.c:1.20.2.6.2.13.2.5 Wed Dec 31 11:15:35 2008
+++ php-src/ext/date/lib/parse_tz.c Sat Apr 25 16:33:41 2009
@@ -16,7 +16,7 @@
+--+
*/
-/* $Id: parse_tz.c,v 1.20.2.6.2.13.2.5 2008/12/31 11:15:35 sebastian Exp $ */
+/* $Id: parse_tz.c,v 1.20.2.6.2.13.2.6 2009/04/25 16:33:41 nlopess Exp $ */
#include timelib.h
@@ -49,7 +49,7 @@
#define timelib_conv_int(l) ((l 0x00ff) 24) + ((l 0xff00) 8)
+ ((l 0x00ff) 8) + ((l 0xff00) 24)
#endif
-static void read_preamble(char **tzf, timelib_tzinfo *tz)
+static void read_preamble(const unsigned char **tzf, timelib_tzinfo *tz)
{
/* skip ID */
*tzf += 4;
@@ -67,7 +67,7 @@
*tzf += 13;
}
-static void read_header(char **tzf, timelib_tzinfo *tz)
+static void read_header(const unsigned char **tzf, timelib_tzinfo *tz)
{
uint32_t buffer[6];
@@ -81,7 +81,7 @@
*tzf += sizeof(buffer);
}
-static void read_transistions(char **tzf, timelib_tzinfo *tz)
+static void read_transistions(const unsigned char **tzf, timelib_tzinfo *tz)
{
int32_t *buffer = NULL;
uint32_t i;
@@ -110,7 +110,7 @@
tz-trans_idx = cbuffer;
}
-static void read_types(char **tzf, timelib_tzinfo *tz)
+static void read_types(const unsigned char **tzf, timelib_tzinfo *tz)
{
unsigned char *buffer;
int32_t *leap_buffer;
@@ -191,7 +191,7 @@
}
}
-static void read_location(char **tzf, timelib_tzinfo *tz)
+static void read_location(const unsigned char **tzf, timelib_tzinfo *tz)
{
uint32_t buffer[3];
uint32_t comments_len;
@@ -317,11 +317,11 @@
if (seek_to_tz_position(tzf, timezone, tzdb)) {
tmp = timelib_tzinfo_ctor(timezone);
- read_preamble((char**) tzf, tmp);
- read_header((char**) tzf, tmp);
- read_transistions((char**) tzf, tmp);
- read_types((char**) tzf, tmp);
- read_location((char**) tzf, tmp);
+ read_preamble(tzf, tmp);
+ read_header(tzf, tmp);
+ read_transistions(tzf, tmp);
+ read_types(tzf, tmp);
+ read_location(tzf, tmp);
} else {
tmp = NULL;
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php