X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-pq;a=blobdiff_plain;f=src%2Fphp_pqconn.c;h=a455f92ba87e084b5fe79bcac99162347532ba69;hp=16d3f772c92ad9746bfeecfb941a0257526d937c;hb=4cfd0cce73f503b6de3eb2b281d1484f4dcb0713;hpb=56e9738f80aee54b362f90a42c724abad5378e31 diff --git a/src/php_pqconn.c b/src/php_pqconn.c index 16d3f77..a455f92 100644 --- a/src/php_pqconn.c +++ b/src/php_pqconn.c @@ -1288,13 +1288,7 @@ static PHP_METHOD(pqconn, prepare) { if (SUCCESS != php_pqconn_prepare(getThis(), obj, name_str, query_str, params TSRMLS_CC)) { php_pq_params_free(¶ms); } else { - php_pqstm_t *stm = ecalloc(1, sizeof(*stm)); - - php_pq_object_addref(obj TSRMLS_CC); - stm->conn = obj; - stm->name = estrdup(name_str); - stm->params = params; - ZEND_INIT_SYMTABLE(&stm->bound); + php_pqstm_t *stm = php_pqstm_init(obj, name_str, query_str, params TSRMLS_CC); return_value->type = IS_OBJECT; return_value->value.obj = php_pqstm_create_object_ex(php_pqstm_class_entry, stm, NULL TSRMLS_CC); @@ -1350,13 +1344,7 @@ static PHP_METHOD(pqconn, prepareAsync) { if (SUCCESS != php_pqconn_prepare_async(getThis(), obj, name_str, query_str, params TSRMLS_CC)) { php_pq_params_free(¶ms); } else { - php_pqstm_t *stm = ecalloc(1, sizeof(*stm)); - - php_pq_object_addref(obj TSRMLS_CC); - stm->conn = obj; - stm->name = estrdup(name_str); - stm->params = params; - ZEND_INIT_SYMTABLE(&stm->bound); + php_pqstm_t *stm = php_pqstm_init(obj, name_str, query_str, params TSRMLS_CC); return_value->type = IS_OBJECT; return_value->value.obj = php_pqstm_create_object_ex(php_pqstm_class_entry, stm, NULL TSRMLS_CC); @@ -1410,18 +1398,13 @@ static PHP_METHOD(pqconn, declare) { if (!obj->intern) { throw_exce(EX_UNINITIALIZED TSRMLS_CC, "pq\\Connection not initialized"); } else { - char *decl = php_pqcur_declare_str(name_str, name_len, flags, query_str, query_len); + int query_offset; + char *decl = php_pqcur_declare_str(name_str, name_len, flags, query_str, query_len, &query_offset); if (SUCCESS != php_pqconn_declare(getThis(), obj, decl TSRMLS_CC)) { efree(decl); } else { - php_pqcur_t *cur = ecalloc(1, sizeof(*cur)); - - php_pq_object_addref(obj TSRMLS_CC); - cur->conn = obj; - cur->open = 1; - cur->name = estrdup(name_str); - cur->decl = decl; + php_pqcur_t *cur = php_pqcur_init(obj, name_str, decl, query_offset, flags TSRMLS_CC); return_value->type = IS_OBJECT; return_value->value.obj = php_pqcur_create_object_ex(php_pqcur_class_entry, cur, NULL TSRMLS_CC); @@ -1472,18 +1455,13 @@ static PHP_METHOD(pqconn, declareAsync) { if (!obj->intern) { throw_exce(EX_UNINITIALIZED TSRMLS_CC, "pq\\Connection not initialized"); } else { - char *decl = php_pqcur_declare_str(name_str, name_len, flags, query_str, query_len); + int query_offset; + char *decl = php_pqcur_declare_str(name_str, name_len, flags, query_str, query_len, &query_offset); if (SUCCESS != php_pqconn_declare_async(getThis(), obj, decl TSRMLS_CC)) { efree(decl); } else { - php_pqcur_t *cur = ecalloc(1, sizeof(*cur)); - - php_pq_object_addref(obj TSRMLS_CC); - cur->conn = obj; - cur->open = 1; - cur->name = estrdup(name_str); - cur->decl = decl; + php_pqcur_t *cur = php_pqcur_init(obj, name_str, decl, query_offset, flags TSRMLS_CC); return_value->type = IS_OBJECT; return_value->value.obj = php_pqcur_create_object_ex(php_pqcur_class_entry, cur, NULL TSRMLS_CC);