mirror of
https://github.com/php/php-src.git
synced 2025-08-16 22:18:50 +02:00
MFH: php_gmtime_r() fixes
This commit is contained in:
parent
c9805e7b92
commit
d042fd0675
5 changed files with 24 additions and 3 deletions
|
@ -1012,6 +1012,9 @@ ftp_mdtm(ftpbuf_t *ftp, const char *path)
|
||||||
/* figure out the GMT offset */
|
/* figure out the GMT offset */
|
||||||
stamp = time(NULL);
|
stamp = time(NULL);
|
||||||
gmt = php_gmtime_r(&stamp, &tmbuf);
|
gmt = php_gmtime_r(&stamp, &tmbuf);
|
||||||
|
if (!gmt) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
gmt->tm_isdst = -1;
|
gmt->tm_isdst = -1;
|
||||||
|
|
||||||
/* apply the GMT offset */
|
/* apply the GMT offset */
|
||||||
|
|
|
@ -674,7 +674,11 @@ static int _php_ibase_bind(XSQLDA *sqlda, zval ***b_vars, BIND_BUF *buf, /* {{{
|
||||||
case SQL_TYPE_DATE:
|
case SQL_TYPE_DATE:
|
||||||
case SQL_TYPE_TIME:
|
case SQL_TYPE_TIME:
|
||||||
if (Z_TYPE_P(b_var) == IS_LONG) {
|
if (Z_TYPE_P(b_var) == IS_LONG) {
|
||||||
php_gmtime_r(&Z_LVAL_P(b_var), &t);
|
struct tm *res;
|
||||||
|
res = php_gmtime_r(&Z_LVAL_P(b_var), &t);
|
||||||
|
if (!res) {
|
||||||
|
return FAILURE;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
#ifdef HAVE_STRPTIME
|
#ifdef HAVE_STRPTIME
|
||||||
char *format = INI_STR("ibase.timestampformat");
|
char *format = INI_STR("ibase.timestampformat");
|
||||||
|
|
|
@ -946,10 +946,15 @@ static char *week_days[] = {
|
||||||
static void strcpy_gmt(char *ubuf, time_t *when)
|
static void strcpy_gmt(char *ubuf, time_t *when)
|
||||||
{
|
{
|
||||||
char buf[MAX_STR];
|
char buf[MAX_STR];
|
||||||
struct tm tm;
|
struct tm tm, *res;
|
||||||
int n;
|
int n;
|
||||||
|
|
||||||
php_gmtime_r(when, &tm);
|
res = php_gmtime_r(when, &tm);
|
||||||
|
|
||||||
|
if (!res) {
|
||||||
|
buf[0] = '\0';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
n = slprintf(buf, sizeof(buf), "%s, %02d %s %d %02d:%02d:%02d GMT", /* SAFE */
|
n = slprintf(buf, sizeof(buf), "%s, %02d %s %d %02d:%02d:%02d GMT", /* SAFE */
|
||||||
week_days[tm.tm_wday], tm.tm_mday,
|
week_days[tm.tm_wday], tm.tm_mday,
|
||||||
|
|
|
@ -58,6 +58,12 @@ PHPAPI char *php_std_date(time_t t TSRMLS_DC)
|
||||||
|
|
||||||
tm1 = php_gmtime_r(&t, &tmbuf);
|
tm1 = php_gmtime_r(&t, &tmbuf);
|
||||||
str = emalloc(81);
|
str = emalloc(81);
|
||||||
|
str[0] = '\0';
|
||||||
|
|
||||||
|
if (!tm1) {
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
if (PG(y2k_compliance)) {
|
if (PG(y2k_compliance)) {
|
||||||
snprintf(str, 80, "%s, %02d %s %04d %02d:%02d:%02d GMT",
|
snprintf(str, 80, "%s, %02d %s %04d %02d:%02d:%02d GMT",
|
||||||
day_short_names[tm1->tm_wday],
|
day_short_names[tm1->tm_wday],
|
||||||
|
|
|
@ -808,6 +808,9 @@ static int php_stream_ftp_url_stat(php_stream_wrapper *wrapper, char *url, int f
|
||||||
/* figure out the GMT offset */
|
/* figure out the GMT offset */
|
||||||
stamp = time(NULL);
|
stamp = time(NULL);
|
||||||
gmt = php_gmtime_r(&stamp, &tmbuf);
|
gmt = php_gmtime_r(&stamp, &tmbuf);
|
||||||
|
if (!gmt) {
|
||||||
|
goto mdtm_error;
|
||||||
|
}
|
||||||
gmt->tm_isdst = -1;
|
gmt->tm_isdst = -1;
|
||||||
|
|
||||||
/* apply the GMT offset */
|
/* apply the GMT offset */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue