From: Derick Rethans Date: Wed, 15 Jun 2005 11:01:07 +0000 (+0000) Subject: - Make it compile cleanly with MS VC++ too, which is completely anal in some X-Git-Tag: php-5.1.0b2~175 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=eb8b4fd4a18bdd513851f2d9514521906aededcc;p=php - Make it compile cleanly with MS VC++ too, which is completely anal in some cases. --- diff --git a/ext/date/lib/datetime.c b/ext/date/lib/datetime.c index 6aae277690..905a94538a 100644 --- a/ext/date/lib/datetime.c +++ b/ext/date/lib/datetime.c @@ -38,7 +38,7 @@ timelib_time* timelib_time_ctor() void timelib_time_tz_abbr_update(timelib_time* tm, char* tz_abbr) { - int i; + unsigned int i; TIMELIB_TIME_FREE(tm->tz_abbr); tm->tz_abbr = strdup(tz_abbr); @@ -141,7 +141,7 @@ signed long timelib_date_to_int(timelib_time *d, int *error) if (error) { *error = 0; } - return d->sse; + return (signed long) d->sse; } void timelib_dump_date(timelib_time *d, int options) diff --git a/ext/date/lib/datetime.h b/ext/date/lib/datetime.h index 3cc4f2d11b..dd8320bdbf 100644 --- a/ext/date/lib/datetime.h +++ b/ext/date/lib/datetime.h @@ -33,8 +33,8 @@ /* From dow.c */ -int timelib_day_of_week(int y, int m, int d); -int timelib_daynr_from_weeknr(int y, int w, int d); +timelib_sll timelib_day_of_week(timelib_sll y, timelib_sll m, timelib_sll d); +timelib_sll timelib_daynr_from_weeknr(timelib_sll y, timelib_sll w, timelib_sll d); /* From parse_date.re */ timelib_time *timelib_strtotime(char *s); diff --git a/ext/date/lib/dow.c b/ext/date/lib/dow.c index f0f08ad04b..4066d61b4c 100644 --- a/ext/date/lib/dow.c +++ b/ext/date/lib/dow.c @@ -23,17 +23,17 @@ static int m_table_common[13] = { -1, 0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5 }; /* 1 = jan */ static int m_table_leap[13] = { -1, 6, 2, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5 }; /* 1 = jan */ -static int century_value(int j) +static timelib_sll century_value(timelib_sll j) { - int i = j - 17; - int c = (4 - i * 2 + (i + 1) / 4) % 7; + timelib_sll i = j - 17; + timelib_sll c = (4 - i * 2 + (i + 1) / 4) % 7; return c < 0 ? c + 7 : c; } -int timelib_day_of_week(int y, int m, int d) +timelib_sll timelib_day_of_week(timelib_sll y, timelib_sll m, timelib_sll d) { - int c1, y1, m1; + timelib_sll c1, y1, m1; /* Only valid for Gregorian calendar */ if (y < 1753) { @@ -45,9 +45,9 @@ int timelib_day_of_week(int y, int m, int d) return (c1 + y1 + m1 + (y1 / 4) + d) % 7; } -int timelib_daynr_from_weeknr(int y, int w, int d) +timelib_sll timelib_daynr_from_weeknr(timelib_sll y, timelib_sll w, timelib_sll d) { - int dow, day; + timelib_sll dow, day; /* Figure out the dayofweek for y-1-1 */ dow = timelib_day_of_week(y, 1, 1); diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c index dd6f6d367c..b89c4f6eac 100644 --- a/ext/date/lib/parse_date.c +++ b/ext/date/lib/parse_date.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.9.8.dev on Wed Jun 15 11:08:32 2005 */ +/* Generated by re2c 0.9.8.dev on Wed Jun 15 12:56:03 2005 */ #line 1 "parse_date.re" /* +----------------------------------------------------------------------+ @@ -69,7 +69,7 @@ #define TIMELIB_RELATIVE 310 -#define ERROR 999 +#define TIMELIB_ERROR 999 typedef unsigned char uchar; @@ -85,13 +85,13 @@ typedef unsigned char uchar; #define timelib_string_free free -#define TIMELIB_HAVE_TIME() { if (s->time->have_time) { return ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } +#define TIMELIB_HAVE_TIME() { if (s->time->have_time) { return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } -#define TIMELIB_HAVE_DATE() { if (s->time->have_date) { return ERROR; } else { s->time->have_date = 1; } } +#define TIMELIB_HAVE_DATE() { if (s->time->have_date) { return TIMELIB_ERROR; } else { s->time->have_date = 1; } } #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; } #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; } #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_weekday_relative = 1; } -#define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { return ERROR; } else { s->time.have_zone = 1; } } +#define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { return TIMELIB_ERROR; } else { s->time.have_zone = 1; } } #define TIMELIB_INIT s->cur = cursor; str = timelib_string(s); ptr = str #define TIMELIB_DEINIT timelib_string_free(str) @@ -151,7 +151,7 @@ typedef struct _timelib_relunit { int multiplier; } timelib_relunit; -#define HOUR(a) (a * 60) +#define HOUR(a) (int)(a * 60) /* The timezone table. */ static timelib_tz_lookup_table const timelib_timezone_lookup[] = { @@ -402,9 +402,9 @@ uchar *fill(Scanner *s, uchar *cursor){ } #endif -static int timelib_meridian(char **ptr, int h) +static timelib_sll timelib_meridian(char **ptr, timelib_sll h) { - int retval = 0; + timelib_sll retval = 0; while (!strchr("AaPp", **ptr)) { ++*ptr; @@ -458,10 +458,10 @@ static timelib_sll timelib_get_nr(char **ptr, int max_length) return tmp_nr; } -static float timelib_get_frac_nr(char **ptr, int max_length) +static double timelib_get_frac_nr(char **ptr, int max_length) { char *begin, *end, *str; - float tmp_nr = -1; + double tmp_nr = -1; int len = 0; while ((**ptr != '.') && ((**ptr < '0') || (**ptr > '9'))) { @@ -623,7 +623,7 @@ static const timelib_relunit* timelib_lookup_relunit(char **ptr) return value; } -static void timelib_set_relative(char **ptr, long amount, Scanner *s) +static void timelib_set_relative(char **ptr, timelib_ull amount, Scanner *s) { const timelib_relunit* relunit; @@ -858,7 +858,7 @@ yy2: yy3: YYDEBUG(3, *YYCURSOR); -#line 1262 "parse_date.re" +#line 1263 "parse_date.re" { TIMELIB_INIT; s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time); @@ -934,7 +934,7 @@ yy6: yy7: YYDEBUG(7, *YYCURSOR); -#line 1322 "parse_date.re" +#line 1323 "parse_date.re" { /* printf("unexpected character: #%d, %c\n", *s->tok, *s->tok); */ goto std; @@ -1673,7 +1673,7 @@ yy43: yy44: YYDEBUG(44, *YYCURSOR); -#line 1311 "parse_date.re" +#line 1312 "parse_date.re" { goto std; } @@ -1685,7 +1685,7 @@ yy45: yy46: YYDEBUG(46, *YYCURSOR); -#line 1316 "parse_date.re" +#line 1317 "parse_date.re" { s->pos = cursor; s->line++; goto std; @@ -2043,7 +2043,7 @@ yy80: yy81: YYDEBUG(81, *YYCURSOR); -#line 1295 "parse_date.re" +#line 1296 "parse_date.re" { timelib_ull i; @@ -2681,7 +2681,7 @@ yy147: yy148: YYDEBUG(148, *YYCURSOR); -#line 1257 "parse_date.re" +#line 1258 "parse_date.re" { goto std; } @@ -2727,7 +2727,7 @@ yy154: yy155: YYDEBUG(155, *YYCURSOR); -#line 1241 "parse_date.re" +#line 1242 "parse_date.re" { const timelib_relunit* relunit; @@ -3126,7 +3126,7 @@ yy187: yy188: YYDEBUG(188, *YYCURSOR); -#line 1225 "parse_date.re" +#line 1226 "parse_date.re" { long i; @@ -5287,7 +5287,7 @@ yy385: yy386: YYDEBUG(386, *YYCURSOR); -#line 1098 "parse_date.re" +#line 1099 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -5368,7 +5368,7 @@ yy396: yy397: YYDEBUG(397, *YYCURSOR); -#line 1074 "parse_date.re" +#line 1075 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -5422,7 +5422,7 @@ yy403: yy404: YYDEBUG(404, *YYCURSOR); -#line 1171 "parse_date.re" +#line 1172 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -5569,7 +5569,7 @@ yy422: yy423: YYDEBUG(423, *YYCURSOR); -#line 1270 "parse_date.re" +#line 1271 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -7256,7 +7256,7 @@ yy558: yy559: YYDEBUG(559, *YYCURSOR); -#line 1211 "parse_date.re" +#line 1212 "parse_date.re" { TIMELIB_INIT; s->time->relative.y = 0 - s->time->relative.y; @@ -8903,7 +8903,7 @@ yy668: yy669: YYDEBUG(669, *YYCURSOR); -#line 930 "parse_date.re" +#line 931 "parse_date.re" { DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); TIMELIB_INIT; @@ -9051,7 +9051,7 @@ yy683: yy684: YYDEBUG(684, *YYCURSOR); -#line 915 "parse_date.re" +#line 916 "parse_date.re" { DEBUG_OUTPUT("timeshort12 | timelong12"); TIMELIB_INIT; @@ -9175,7 +9175,7 @@ yy696: yy697: YYDEBUG(697, *YYCURSOR); -#line 1050 "parse_date.re" +#line 1051 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -9553,7 +9553,7 @@ yy755: yy756: YYDEBUG(756, *YYCURSOR); -#line 1062 "parse_date.re" +#line 1063 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -9936,7 +9936,7 @@ yy800: yy801: YYDEBUG(801, *YYCURSOR); -#line 1038 "parse_date.re" +#line 1039 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -9969,7 +9969,7 @@ yy804: yy805: YYDEBUG(805, *YYCURSOR); -#line 1013 "parse_date.re" +#line 1014 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -10204,7 +10204,7 @@ yy837: yy838: YYDEBUG(838, *YYCURSOR); -#line 1195 "parse_date.re" +#line 1196 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_TIME(); @@ -10531,7 +10531,7 @@ yy877: yy878: YYDEBUG(878, *YYCURSOR); -#line 1183 "parse_date.re" +#line 1184 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -10788,7 +10788,7 @@ yy897: yy898: YYDEBUG(898, *YYCURSOR); -#line 1086 "parse_date.re" +#line 1087 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -10957,9 +10957,9 @@ yy918: yy919: YYDEBUG(919, *YYCURSOR); -#line 1152 "parse_date.re" +#line 1153 "parse_date.re" { - int w, d; + timelib_sll w, d; TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -11008,7 +11008,7 @@ yy922: yy923: YYDEBUG(923, *YYCURSOR); -#line 1140 "parse_date.re" +#line 1141 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -11095,7 +11095,7 @@ yy929: yy930: YYDEBUG(930, *YYCURSOR); -#line 1110 "parse_date.re" +#line 1111 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -11173,7 +11173,7 @@ yy940: yy941: YYDEBUG(941, *YYCURSOR); -#line 1121 "parse_date.re" +#line 1122 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_TIME(); @@ -11872,7 +11872,7 @@ yy1034: yy1035: YYDEBUG(1035, *YYCURSOR); -#line 1027 "parse_date.re" +#line 1028 "parse_date.re" { TIMELIB_INIT; TIMELIB_HAVE_DATE(); @@ -12665,7 +12665,7 @@ yy1115: yy1116: YYDEBUG(1116, *YYCURSOR); -#line 952 "parse_date.re" +#line 953 "parse_date.re" { DEBUG_OUTPUT("gnunocolon"); TIMELIB_INIT; @@ -12680,7 +12680,7 @@ yy1116: break; default: TIMELIB_DEINIT; - return ERROR; + return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; @@ -12759,7 +12759,7 @@ yy1123: yy1124: YYDEBUG(1124, *YYCURSOR); -#line 997 "parse_date.re" +#line 998 "parse_date.re" { DEBUG_OUTPUT("iso8601nocolon"); TIMELIB_INIT; @@ -12965,7 +12965,8 @@ yy1140: s->time->y = 1970; s->time->m = 1; s->time->d = 1; - s->time->h = s->time->i = s->time->s = s->time->f = 0; + s->time->h = s->time->i = s->time->s = 0; + s->time->f = 0.0; s->time->relative.s += i; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; @@ -12974,7 +12975,7 @@ yy1140: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 10670 "" +#line 10671 "" yy1141: YYDEBUG(1141, *YYCURSOR); yych = *++YYCURSOR; @@ -13033,7 +13034,7 @@ yy1149: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 10711 "" +#line 10712 "" yy1150: YYDEBUG(1150, *YYCURSOR); yych = *++YYCURSOR; @@ -13059,7 +13060,7 @@ yy1152: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 10731 "" +#line 10732 "" yy1153: YYDEBUG(1153, *YYCURSOR); yych = *++YYCURSOR; @@ -13090,7 +13091,7 @@ yy1155: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 10756 "" +#line 10757 "" yy1156: YYDEBUG(1156, *YYCURSOR); yych = *++YYCURSOR; @@ -13148,10 +13149,10 @@ yy1164: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 10796 "" +#line 10797 "" } } -#line 1326 "parse_date.re" +#line 1327 "parse_date.re" } diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re index dd383e6c9a..4b072173cc 100644 --- a/ext/date/lib/parse_date.re +++ b/ext/date/lib/parse_date.re @@ -67,7 +67,7 @@ #define TIMELIB_RELATIVE 310 -#define ERROR 999 +#define TIMELIB_ERROR 999 typedef unsigned char uchar; @@ -83,13 +83,13 @@ typedef unsigned char uchar; #define timelib_string_free free -#define TIMELIB_HAVE_TIME() { if (s->time->have_time) { return ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } +#define TIMELIB_HAVE_TIME() { if (s->time->have_time) { return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } -#define TIMELIB_HAVE_DATE() { if (s->time->have_date) { return ERROR; } else { s->time->have_date = 1; } } +#define TIMELIB_HAVE_DATE() { if (s->time->have_date) { return TIMELIB_ERROR; } else { s->time->have_date = 1; } } #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; } #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; } #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_weekday_relative = 1; } -#define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { return ERROR; } else { s->time.have_zone = 1; } } +#define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { return TIMELIB_ERROR; } else { s->time.have_zone = 1; } } #define TIMELIB_INIT s->cur = cursor; str = timelib_string(s); ptr = str #define TIMELIB_DEINIT timelib_string_free(str) @@ -149,7 +149,7 @@ typedef struct _timelib_relunit { int multiplier; } timelib_relunit; -#define HOUR(a) (a * 60) +#define HOUR(a) (int)(a * 60) /* The timezone table. */ static timelib_tz_lookup_table const timelib_timezone_lookup[] = { @@ -400,9 +400,9 @@ uchar *fill(Scanner *s, uchar *cursor){ } #endif -static int timelib_meridian(char **ptr, int h) +static timelib_sll timelib_meridian(char **ptr, timelib_sll h) { - int retval = 0; + timelib_sll retval = 0; while (!strchr("AaPp", **ptr)) { ++*ptr; @@ -456,10 +456,10 @@ static timelib_sll timelib_get_nr(char **ptr, int max_length) return tmp_nr; } -static float timelib_get_frac_nr(char **ptr, int max_length) +static double timelib_get_frac_nr(char **ptr, int max_length) { char *begin, *end, *str; - float tmp_nr = -1; + double tmp_nr = -1; int len = 0; while ((**ptr != '.') && ((**ptr < '0') || (**ptr > '9'))) { @@ -621,7 +621,7 @@ static const timelib_relunit* timelib_lookup_relunit(char **ptr) return value; } -static void timelib_set_relative(char **ptr, long amount, Scanner *s) +static void timelib_set_relative(char **ptr, timelib_ull amount, Scanner *s) { const timelib_relunit* relunit; @@ -901,7 +901,8 @@ relativetext = (reltextnumber space reltextunit)+; s->time->y = 1970; s->time->m = 1; s->time->d = 1; - s->time->h = s->time->i = s->time->s = s->time->f = 0; + s->time->h = s->time->i = s->time->s = 0; + s->time->f = 0.0; s->time->relative.s += i; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; @@ -963,7 +964,7 @@ relativetext = (reltextnumber space reltextunit)+; break; default: TIMELIB_DEINIT; - return ERROR; + return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; @@ -986,7 +987,7 @@ relativetext = (reltextnumber space reltextunit)+; break; default: TIMELIB_DEINIT; - return ERROR; + return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; @@ -1150,7 +1151,7 @@ relativetext = (reltextnumber space reltextunit)+; isoweekday { - int w, d; + timelib_sll w, d; TIMELIB_INIT; TIMELIB_HAVE_DATE(); diff --git a/ext/date/lib/parse_tz.c b/ext/date/lib/parse_tz.c index 6e98a1b9d5..0bfdd2622b 100644 --- a/ext/date/lib/parse_tz.c +++ b/ext/date/lib/parse_tz.c @@ -45,7 +45,8 @@ static void read_header(char **tzf, timelib_tzinfo *tz) static void read_transistions(char **tzf, timelib_tzinfo *tz) { - int32_t *buffer = NULL, i; + int32_t *buffer = NULL; + uint32_t i; unsigned char *cbuffer = NULL; if (tz->timecnt) { @@ -219,7 +220,7 @@ timelib_tzinfo *timelib_parse_tzfile(char *timezone) static ttinfo* fetch_timezone_offset(timelib_tzinfo *tz, timelib_sll ts) { - int i; + uint32_t i; if (!tz->timecnt || !tz->trans) { return NULL; diff --git a/ext/date/lib/resource/parse_date.re b/ext/date/lib/resource/parse_date.re index dd383e6c9a..4b072173cc 100644 --- a/ext/date/lib/resource/parse_date.re +++ b/ext/date/lib/resource/parse_date.re @@ -67,7 +67,7 @@ #define TIMELIB_RELATIVE 310 -#define ERROR 999 +#define TIMELIB_ERROR 999 typedef unsigned char uchar; @@ -83,13 +83,13 @@ typedef unsigned char uchar; #define timelib_string_free free -#define TIMELIB_HAVE_TIME() { if (s->time->have_time) { return ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } +#define TIMELIB_HAVE_TIME() { if (s->time->have_time) { return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } -#define TIMELIB_HAVE_DATE() { if (s->time->have_date) { return ERROR; } else { s->time->have_date = 1; } } +#define TIMELIB_HAVE_DATE() { if (s->time->have_date) { return TIMELIB_ERROR; } else { s->time->have_date = 1; } } #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; } #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; } #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_weekday_relative = 1; } -#define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { return ERROR; } else { s->time.have_zone = 1; } } +#define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { return TIMELIB_ERROR; } else { s->time.have_zone = 1; } } #define TIMELIB_INIT s->cur = cursor; str = timelib_string(s); ptr = str #define TIMELIB_DEINIT timelib_string_free(str) @@ -149,7 +149,7 @@ typedef struct _timelib_relunit { int multiplier; } timelib_relunit; -#define HOUR(a) (a * 60) +#define HOUR(a) (int)(a * 60) /* The timezone table. */ static timelib_tz_lookup_table const timelib_timezone_lookup[] = { @@ -400,9 +400,9 @@ uchar *fill(Scanner *s, uchar *cursor){ } #endif -static int timelib_meridian(char **ptr, int h) +static timelib_sll timelib_meridian(char **ptr, timelib_sll h) { - int retval = 0; + timelib_sll retval = 0; while (!strchr("AaPp", **ptr)) { ++*ptr; @@ -456,10 +456,10 @@ static timelib_sll timelib_get_nr(char **ptr, int max_length) return tmp_nr; } -static float timelib_get_frac_nr(char **ptr, int max_length) +static double timelib_get_frac_nr(char **ptr, int max_length) { char *begin, *end, *str; - float tmp_nr = -1; + double tmp_nr = -1; int len = 0; while ((**ptr != '.') && ((**ptr < '0') || (**ptr > '9'))) { @@ -621,7 +621,7 @@ static const timelib_relunit* timelib_lookup_relunit(char **ptr) return value; } -static void timelib_set_relative(char **ptr, long amount, Scanner *s) +static void timelib_set_relative(char **ptr, timelib_ull amount, Scanner *s) { const timelib_relunit* relunit; @@ -901,7 +901,8 @@ relativetext = (reltextnumber space reltextunit)+; s->time->y = 1970; s->time->m = 1; s->time->d = 1; - s->time->h = s->time->i = s->time->s = s->time->f = 0; + s->time->h = s->time->i = s->time->s = 0; + s->time->f = 0.0; s->time->relative.s += i; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; @@ -963,7 +964,7 @@ relativetext = (reltextnumber space reltextunit)+; break; default: TIMELIB_DEINIT; - return ERROR; + return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; @@ -986,7 +987,7 @@ relativetext = (reltextnumber space reltextunit)+; break; default: TIMELIB_DEINIT; - return ERROR; + return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; @@ -1150,7 +1151,7 @@ relativetext = (reltextnumber space reltextunit)+; isoweekday { - int w, d; + timelib_sll w, d; TIMELIB_INIT; TIMELIB_HAVE_DATE(); diff --git a/ext/date/lib/timelib_structs.h b/ext/date/lib/timelib_structs.h index 52dc21bf21..b86b47352d 100644 --- a/ext/date/lib/timelib_structs.h +++ b/ext/date/lib/timelib_structs.h @@ -95,7 +95,7 @@ typedef struct timelib_time_offset { typedef struct timelib_time { timelib_sll y, m, d; /* Year, Month, Day */ timelib_sll h, i, s; /* Hour, mInute, Second */ - float f; /* Fraction */ + double f; /* Fraction */ int z; /* GMT offset in minutes */ char *tz_abbr; /* Timezone abbreviation (display only) */ timelib_tzinfo *tz_info; /* Timezone structure */ diff --git a/ext/date/lib/tm2unixtime.c b/ext/date/lib/tm2unixtime.c index 507465fac7..a62dbb8a34 100644 --- a/ext/date/lib/tm2unixtime.c +++ b/ext/date/lib/tm2unixtime.c @@ -51,10 +51,10 @@ static int do_range_limit(timelib_sll start, timelib_sll end, timelib_sll adj, t static int do_range_limit_days(timelib_sll *y, timelib_sll *m, timelib_sll *d) { - int leapyear; - int days_this_month; - int last_month, last_year; - int days_last_month; + timelib_sll leapyear; + timelib_sll days_this_month; + timelib_sll last_month, last_year; + timelib_sll days_last_month; do_range_limit(1, 13, 12, m, y); @@ -86,7 +86,7 @@ static int do_range_limit_days(timelib_sll *y, timelib_sll *m, timelib_sll *d) static void do_adjust_for_weekday(timelib_time* time) { - int current_dow, difference; + timelib_sll current_dow, difference; current_dow = timelib_day_of_week(time->y, time->m, time->d); difference = time->relative.weekday - current_dow; @@ -131,9 +131,9 @@ static void do_adjust_relative(timelib_time* time) memset(&(time->relative), 0, sizeof(time->relative)); } -static timelib_sll do_years(int year) +static timelib_sll do_years(timelib_sll year) { - unsigned int i; + timelib_sll i; timelib_sll res = 0; if (year >= 1970) { @@ -156,7 +156,7 @@ static timelib_sll do_years(int year) return res; } -static timelib_sll do_months(unsigned int month, unsigned int year) +static timelib_sll do_months(timelib_ull month, timelib_ull year) { if (is_leap(year)) { return ((month_tab_leap[month - 1] + 1) * SECS_PER_DAY); @@ -165,12 +165,12 @@ static timelib_sll do_months(unsigned int month, unsigned int year) } } -static timelib_sll do_days(unsigned int day) +static timelib_sll do_days(timelib_ull day) { return ((day - 1) * SECS_PER_DAY); } -static timelib_sll do_time(unsigned int hour, unsigned int minute, unsigned int second) +static timelib_sll do_time(timelib_ull hour, timelib_ull minute, timelib_ull second) { timelib_sll res = 0;