- do {
- ht = &a.list->ht;
- } while ((a.list = a.list->parent));
-
- return ht;
-}
-
-zval *php_pq_typed_zval(char *val, size_t len, Oid typ TSRMLS_DC)
-{
- zval *zv;
-
- MAKE_STD_ZVAL(zv);
-
- switch (typ) {
-#ifdef HAVE_PHP_PQ_TYPE_H
-# undef PHP_PQ_TYPE
-# include "php_pq_type.h"
- case PHP_PQ_OID_BOOL:
- ZVAL_BOOL(zv, *val == 't');
- break;
-#if SIZEOF_LONG >= 8
- case PHP_PQ_OID_INT8:
- case PHP_PQ_OID_TID:
-#endif
- case PHP_PQ_OID_INT4:
- case PHP_PQ_OID_INT2:
- case PHP_PQ_OID_XID:
- case PHP_PQ_OID_OID:
- ZVAL_LONG(zv, zend_atol(val, len));
- break;
-
- case PHP_PQ_OID_FLOAT4:
- case PHP_PQ_OID_FLOAT8:
- ZVAL_DOUBLE(zv, zend_strtod(val, NULL));
- break;
-
- case PHP_PQ_OID_DATE:
- php_pqdt_from_string(val, len, "Y-m-d", zv TSRMLS_CC);
- break;
-
- case PHP_PQ_OID_ABSTIME:
- php_pqdt_from_string(val, len, "Y-m-d H:i:s", zv TSRMLS_CC);
- break;