diff options
author | Ilia Alshanetsky <iliaa@php.net> | 2006-11-30 16:21:24 +0000 |
---|---|---|
committer | Ilia Alshanetsky <iliaa@php.net> | 2006-11-30 16:21:24 +0000 |
commit | c69555b94895d360cd66a42547764ab43b457d03 (patch) | |
tree | 2351e4305f03ea2c930e2cf2cbeebe186df6a085 | |
parent | 930ac9a5d0c2eb2e3936f7f7373c17147cacfc1e (diff) | |
download | php-git-c69555b94895d360cd66a42547764ab43b457d03.tar.gz |
Thread safety fixes.
-rw-r--r-- | ext/interbase/ibase_query.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/ext/interbase/ibase_query.c b/ext/interbase/ibase_query.c index 913059e486..2db8dd0c9f 100644 --- a/ext/interbase/ibase_query.c +++ b/ext/interbase/ibase_query.c @@ -669,14 +669,13 @@ static int _php_ibase_bind(XSQLDA *sqlda, zval ***b_vars, BIND_BUF *buf, /* {{{ var->sqldata = (void*)&buf[i].val; switch (var->sqltype & ~1) { - struct tm t; + struct tm *t, tmbuf; case SQL_TIMESTAMP: case SQL_TYPE_DATE: case SQL_TYPE_TIME: if (Z_TYPE_P(b_var) == IS_LONG) { - /* insert timestamp directly */ - t = *gmtime(&Z_LVAL_P(b_var)); + t = php_gmtime_r(&Z_LVAL_P(b_var), &tmbuf); } else { #ifdef HAVE_STRPTIME char *format = INI_STR("ibase.timestampformat"); @@ -690,7 +689,7 @@ static int _php_ibase_bind(XSQLDA *sqlda, zval ***b_vars, BIND_BUF *buf, /* {{{ case SQL_TYPE_TIME: format = INI_STR("ibase.timeformat"); } - if (! strptime(Z_STRVAL_P(b_var), format, &t)) { + if (!strptime(Z_STRVAL_P(b_var), format, t)) { /* strptime() cannot handle it, so let IB have a try */ break; } @@ -701,13 +700,13 @@ static int _php_ibase_bind(XSQLDA *sqlda, zval ***b_vars, BIND_BUF *buf, /* {{{ switch (var->sqltype & ~1) { default: /* == case SQL_TIMESTAMP */ - isc_encode_timestamp(&t, &buf[i].val.tsval); + isc_encode_timestamp(t, &buf[i].val.tsval); break; case SQL_TYPE_DATE: - isc_encode_sql_date(&t, &buf[i].val.dtval); + isc_encode_sql_date(t, &buf[i].val.dtval); break; case SQL_TYPE_TIME: - isc_encode_sql_time(&t, &buf[i].val.tmval); + isc_encode_sql_time(t, &buf[i].val.tmval); break; } continue; |