]> granicus.if.org Git - php/commitdiff
- MFH: Sync to HEAD (TSRMLS_FETCH() nukes, pval -> zval, php_error_docref)
authorfoobar <sniper@php.net>
Thu, 24 Jul 2003 02:47:11 +0000 (02:47 +0000)
committerfoobar <sniper@php.net>
Thu, 24 Jul 2003 02:47:11 +0000 (02:47 +0000)
ext/interbase/interbase.c
ext/interbase/php_interbase.h
ext/interbase/tests/005.phpt

index fcb789a5e13128afb931885bdabb367105171dcc..25ca63e630c401db899300026858aafa410a6fb6 100644 (file)
@@ -18,7 +18,7 @@
  */
 
 /* $Id$ */
-  
+
 
 /* TODO: Arrays, roles?
 A lot... */
@@ -115,8 +115,7 @@ function_entry ibase_functions[] = {
        {NULL, NULL, NULL}
 };
 
-zend_module_entry ibase_module_entry =
-{
+zend_module_entry ibase_module_entry = {
        STANDARD_MODULE_HEADER,
        "interbase",
        ibase_functions,
@@ -125,23 +124,19 @@ zend_module_entry ibase_module_entry =
        PHP_RINIT(ibase),
        PHP_RSHUTDOWN(ibase),
        PHP_MINFO(ibase),
-    NO_VERSION_YET,
+       NO_VERSION_YET,
        STANDARD_MODULE_PROPERTIES
 };
 
 #ifdef COMPILE_DL_INTERBASE
 ZEND_GET_MODULE(ibase)
-
 #define DL_MALLOC(size) malloc(size)
 #define DL_STRDUP(str) strdup(str)
 #define DL_FREE(ptr) free(ptr)
-
 #else
-
 #define DL_MALLOC(size) emalloc(size)
 #define DL_STRDUP(str) estrdup(str)
 #define DL_FREE(ptr) efree(ptr)
-
 #endif
 
 /* True globals, no need for thread safety */
@@ -155,9 +150,10 @@ ZEND_DECLARE_MODULE_GLOBALS(ibase)
 
 #define IB_STATUS (IBG(status))
 
-/* Fill ib_link and trans_n with the correct database link and transaction slot number. */
-
-static void get_link_trans(INTERNAL_FUNCTION_PARAMETERS, zval **link_id, ibase_db_link **ib_link, int *trans_n, int *trans_id) {
+/* Fill ib_link and trans_n with the correct database link and transaction slot number.
+ */
+static void get_link_trans(INTERNAL_FUNCTION_PARAMETERS, zval **link_id, ibase_db_link **ib_link, int *trans_n, int *trans_id)
+{
        int type;
        void *resource = NULL;
        ibase_tr_link *ib_trans;
@@ -184,12 +180,11 @@ static void get_link_trans(INTERNAL_FUNCTION_PARAMETERS, zval **link_id, ibase_d
 }
        
 #define RESET_ERRMSG { IBG(errmsg)[0] = '\0';}
-
 #define TEST_ERRMSG ( IBG(errmsg)[0] != '\0')
 
 /* sql variables union
  used for convert and binding input variables
-*/
* used for convert and binding input variables
+ */
 typedef struct {
        union {
                short sval;
@@ -204,17 +199,16 @@ typedef struct {
        short sqlind;
 } BIND_BUF;
 
-
 /* get blob identifier from argument
  on empty unset argument ib_blob set to NULL
-*/
* on empty unset argument ib_blob set to NULL
+ */
 #define GET_BLOB_ID_ARG(blob_arg, ib_blob)\
 {\
        if (Z_TYPE_P(blob_arg) == IS_STRING && Z_STRLEN_P(blob_arg) == 0) {\
                ib_blob = NULL;\
        } else if (Z_TYPE_P(blob_arg) != IS_STRING\
                         || Z_STRLEN_P(blob_arg) != sizeof(ibase_blob_handle)\
-                        || ((ibase_blob_handle *)(Z_STRVAL_P(blob_arg)))->bl_handle != 0){\
+                        || ((ibase_blob_handle *)(Z_STRVAL_P(blob_arg)))->bl_handle != 0) {\
                _php_ibase_module_error("Invalid blob id");\
                RETURN_FALSE;\
        } else {\
@@ -222,22 +216,22 @@ typedef struct {
        }\
 }
 
-
 /* get blob handle from argument
  note: blob already open when handle active
-*/
* note: blob already open when handle active
+ */
 #define GET_BLOB_HANDLE_ARG(blob_arg, blob_ptr) \
 { \
        int type; \
-       convert_to_long(blob_arg); \
-       blob_ptr = (ibase_blob_handle *) zend_list_find(Z_LVAL_P(blob_arg), &type); \
+       convert_to_long_ex(blob_arg); \
+       blob_ptr = (ibase_blob_handle *) zend_list_find(Z_LVAL_PP(blob_arg), &type); \
        if (type!=le_blob) { \
-               _php_ibase_module_error("%d is not blob handle", Z_LVAL_P(blob_arg)); \
+               _php_ibase_module_error("%d is not blob handle", Z_LVAL_PP(blob_arg)); \
                RETURN_FALSE; \
        } \
 }
 
-/* blob information struct */
+/* blob information struct
+ */
 typedef struct {
        ISC_LONG  max_segment;          /* Length of longest segment */
        ISC_LONG  num_segments;         /* Total number of segments */
@@ -260,12 +254,13 @@ PHP_FUNCTION(ibase_errmsg)
        if (IBG(errmsg[0])) {
                RETURN_STRING(IBG(errmsg), 1);
        }
+
        RETURN_FALSE;
 }
 /* }}} */
 
 /* {{{ _php_ibase_error(TSRMLS_D) 
-    print interbase error and save it for ibase_errmsg() */
+   print interbase error and save it for ibase_errmsg() */
 static void _php_ibase_error(TSRMLS_D)
 {
        char *s;
@@ -273,16 +268,18 @@ static void _php_ibase_error(TSRMLS_D)
 
        s = IBG(errmsg);
        statusp = IB_STATUS;
+
        while ((s - IBG(errmsg)) < MAX_ERRMSG - (IBASE_MSGSIZE + 2) && isc_interprete(s, &statusp)) {
                strcat(IBG(errmsg), " ");
                s = IBG(errmsg) + strlen(IBG(errmsg));
        }
-       php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), IBG(errmsg));
+
+       php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", IBG(errmsg));
 }
 /* }}} */
 
 /* {{{ _php_ibase_module_error()
-       print php interbase module error and save it for ibase_errmsg() */
+   print php interbase module error and save it for ibase_errmsg() */
 static void _php_ibase_module_error(char *msg, ...)
 {
        va_list ap;
@@ -293,7 +290,7 @@ static void _php_ibase_module_error(char *msg, ...)
        vsnprintf(IBG(errmsg), MAX_ERRMSG, msg, ap);
        va_end(ap);
        
-       php_error(E_WARNING, "%s(): %s", get_active_function_name(TSRMLS_C), IBG(errmsg));
+       php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", IBG(errmsg));
 }
 /* }}} */
 
@@ -313,19 +310,20 @@ static void _php_ibase_free_xsqlda(XSQLDA *sqlda)
                var = sqlda->sqlvar;
                for (i = 0; i < sqlda->sqld; i++, var++) {
                        efree(var->sqldata);
-                       if(var->sqlind)
+                       if (var->sqlind) {
                                efree(var->sqlind);
+                       }
                }
                efree(sqlda);
        }
 }
 /* }}} */
 
-/* {{{ _php_ibase_commit_link() */
-static void _php_ibase_commit_link(ibase_db_link *link)
+/* {{{ _php_ibase_commit_link()
+ */
+static void _php_ibase_commit_link(ibase_db_link *link TSRMLS_DC)
 {
        int i;
-       TSRMLS_FETCH();
 
        IBDEBUG("Checking transactions to close...");
        if (link->trans[0] != NULL) { /* commit default */
@@ -349,18 +347,18 @@ static void _php_ibase_commit_link(ibase_db_link *link)
 
 static void php_ibase_commit_link_rsrc(zend_rsrc_list_entry *rsrc TSRMLS_DC)
 {
-       ibase_db_link *link = (ibase_db_link *)rsrc->ptr;
+       ibase_db_link *link = (ibase_db_link *) rsrc->ptr;
 
-       _php_ibase_commit_link(link);
+       _php_ibase_commit_link(link TSRMLS_CC);
 }
 
 /* {{{ _php_ibase_close_link()
  */
 static void _php_ibase_close_link(zend_rsrc_list_entry *rsrc TSRMLS_DC)
 {
-       ibase_db_link *link = (ibase_db_link *)rsrc->ptr;
+       ibase_db_link *link = (ibase_db_link *) rsrc->ptr;
 
-       _php_ibase_commit_link(link);
+       _php_ibase_commit_link(link TSRMLS_CC);
        IBDEBUG("Closing normal link...");
        isc_detach_database(IB_STATUS, &link->link);
        IBG(num_links)--;
@@ -372,9 +370,9 @@ static void _php_ibase_close_link(zend_rsrc_list_entry *rsrc TSRMLS_DC)
  */
 static void _php_ibase_close_plink(zend_rsrc_list_entry *rsrc TSRMLS_DC)
 {
-       ibase_db_link *link = (ibase_db_link *)rsrc->ptr;
+       ibase_db_link *link = (ibase_db_link *) rsrc->ptr;
 
-       _php_ibase_commit_link(link);
+       _php_ibase_commit_link(link TSRMLS_CC);
        IBDEBUG("Closing permanent link...");
        isc_detach_database(IB_STATUS, &link->link);
        IBG(num_persistent)--;
@@ -387,10 +385,10 @@ static void _php_ibase_close_plink(zend_rsrc_list_entry *rsrc TSRMLS_DC)
  */
 static void _php_ibase_free_result(zend_rsrc_list_entry *rsrc TSRMLS_DC)
 {
-       ibase_result *ib_result = (ibase_result *)rsrc->ptr;
+       ibase_result *ib_result = (ibase_result *) rsrc->ptr;
 
        IBDEBUG("Freeing result by dtor...");
-       if (ib_result){
+       if (ib_result) {
                _php_ibase_free_xsqlda(ib_result->out_sqlda);
                if (ib_result->drop_stmt && ib_result->stmt) {
                        IBDEBUG("Dropping statement handle (free_result dtor)...");
@@ -416,10 +414,8 @@ static void _php_ibase_free_result(zend_rsrc_list_entry *rsrc TSRMLS_DC)
 /* }}} */
 
 /* {{{ _php_ibase_free_query() */
-static void _php_ibase_free_query(ibase_query *ib_query)
+static void _php_ibase_free_query(ibase_query *ib_query TSRMLS_DC)
 {
-       TSRMLS_FETCH();
-
        IBDEBUG("Freeing query...");
        if (ib_query) {
                if (ib_query->in_sqlda) {
@@ -430,7 +426,7 @@ static void _php_ibase_free_query(ibase_query *ib_query)
                }
                if (ib_query->stmt) {
                        IBDEBUG("Dropping statement handle (free_query)...");
-                       if (isc_dsql_free_statement(IB_STATUS, &ib_query->stmt, DSQL_drop)){
+                       if (isc_dsql_free_statement(IB_STATUS, &ib_query->stmt, DSQL_drop)) {
                                _php_ibase_error(TSRMLS_C);
                        }
                }
@@ -480,7 +476,7 @@ static void _php_ibase_free_blob(zend_rsrc_list_entry *rsrc TSRMLS_DC)
 
        if (ib_blob->bl_handle != NULL) { /* blob open*/
                if (isc_cancel_blob(IB_STATUS, &ib_blob->bl_handle)) {
-                       php_error(E_ERROR, "You can lose data. Close any blob after reading of writing it. Use ibase_blob_close() before calling ibase_close()");
+                       php_error_docref(NULL TSRMLS_CC, E_ERROR, "You can lose data. Close any blob after reading of writing it. Use ibase_blob_close() before calling ibase_close()");
                }
        }
        efree(ib_blob);
@@ -496,7 +492,7 @@ static void _php_ibase_free_trans(zend_rsrc_list_entry *rsrc TSRMLS_DC)
        void *ptr;
 
        ptr = zend_list_find(ib_trans->link_rsrc, &type);        /* check if the link is still there */
-       if (ptr && (type==le_link || type==le_plink)) {
+       if (ptr && (type == le_link || type == le_plink)) {
                ib_link = (ibase_db_link *) zend_fetch_resource(NULL TSRMLS_CC, ib_trans->link_rsrc, "InterBase link", NULL, 2, le_link, le_plink);
        
                if (ib_link) {
@@ -515,14 +511,14 @@ static void _php_ibase_free_trans(zend_rsrc_list_entry *rsrc TSRMLS_DC)
 
 /* {{{ startup, shutdown and info functions */
 PHP_INI_BEGIN()
-        STD_PHP_INI_BOOLEAN("ibase.allow_persistent", "1", PHP_INI_SYSTEM, OnUpdateInt, allow_persistent, zend_ibase_globals, ibase_globals)
-        STD_PHP_INI_ENTRY_EX("ibase.max_persistent", "-1", PHP_INI_SYSTEM, OnUpdateInt, max_persistent, zend_ibase_globals, ibase_globals, display_link_numbers)
-        STD_PHP_INI_ENTRY_EX("ibase.max_links", "-1", PHP_INI_SYSTEM, OnUpdateInt, max_links, zend_ibase_globals, ibase_globals, display_link_numbers)
-        STD_PHP_INI_ENTRY("ibase.default_user", NULL, PHP_INI_ALL, OnUpdateString, default_user, zend_ibase_globals, ibase_globals)
-        STD_PHP_INI_ENTRY("ibase.default_password", NULL, PHP_INI_ALL, OnUpdateString, default_password, zend_ibase_globals, ibase_globals)
-        STD_PHP_INI_ENTRY("ibase.timestampformat", "%m/%d/%Y %H:%M:%S", PHP_INI_ALL, OnUpdateString, cfg_timestampformat, zend_ibase_globals, ibase_globals)
-        STD_PHP_INI_ENTRY("ibase.dateformat", "%m/%d/%Y", PHP_INI_ALL, OnUpdateString, cfg_dateformat, zend_ibase_globals, ibase_globals)
-        STD_PHP_INI_ENTRY("ibase.timeformat", "%H:%M:%S", PHP_INI_ALL, OnUpdateString, cfg_timeformat, zend_ibase_globals, ibase_globals)
+       STD_PHP_INI_BOOLEAN("ibase.allow_persistent", "1", PHP_INI_SYSTEM, OnUpdateLong, allow_persistent, zend_ibase_globals, ibase_globals)
+       STD_PHP_INI_ENTRY_EX("ibase.max_persistent", "-1", PHP_INI_SYSTEM, OnUpdateLong, max_persistent, zend_ibase_globals, ibase_globals, display_link_numbers)
+       STD_PHP_INI_ENTRY_EX("ibase.max_links", "-1", PHP_INI_SYSTEM, OnUpdateLong, max_links, zend_ibase_globals, ibase_globals, display_link_numbers)
+       STD_PHP_INI_ENTRY("ibase.default_user", NULL, PHP_INI_ALL, OnUpdateString, default_user, zend_ibase_globals, ibase_globals)
+       STD_PHP_INI_ENTRY("ibase.default_password", NULL, PHP_INI_ALL, OnUpdateString, default_password, zend_ibase_globals, ibase_globals)
+       STD_PHP_INI_ENTRY("ibase.timestampformat", "%m/%d/%Y %H:%M:%S", PHP_INI_ALL, OnUpdateString, cfg_timestampformat, zend_ibase_globals, ibase_globals)
+       STD_PHP_INI_ENTRY("ibase.dateformat", "%m/%d/%Y", PHP_INI_ALL, OnUpdateString, cfg_dateformat, zend_ibase_globals, ibase_globals)
+       STD_PHP_INI_ENTRY("ibase.timeformat", "%H:%M:%S", PHP_INI_ALL, OnUpdateString, cfg_timeformat, zend_ibase_globals, ibase_globals)
 PHP_INI_END()
 
 static void php_ibase_init_globals(zend_ibase_globals *ibase_globals)
@@ -567,103 +563,106 @@ PHP_MINIT_FUNCTION(ibase)
        return SUCCESS;
 }
 
-
 PHP_RINIT_FUNCTION(ibase)
 {
        IBG(default_link)= -1;
        IBG(num_links) = IBG(num_persistent);
 
-       if (IBG(timestampformat))
-        DL_FREE(IBG(timestampformat));
+       if (IBG(timestampformat)) {
+               DL_FREE(IBG(timestampformat));
+       }
        IBG(timestampformat) = DL_STRDUP(IBG(cfg_timestampformat));
 
-       if (IBG(dateformat))
-        DL_FREE(IBG(dateformat));
+       if (IBG(dateformat)) {
+               DL_FREE(IBG(dateformat));
+       }
        IBG(dateformat) = DL_STRDUP(IBG(cfg_dateformat));
 
-       if (IBG(timeformat))
-        DL_FREE(IBG(timeformat));
+       if (IBG(timeformat)) {
+               DL_FREE(IBG(timeformat));
+       }
        IBG(timeformat) = DL_STRDUP(IBG(cfg_timeformat));
 
-       if (IBG(errmsg))
-           DL_FREE(IBG(errmsg));
+       if (IBG(errmsg)) {
+               DL_FREE(IBG(errmsg));
+       }
        IBG(errmsg) = DL_MALLOC(sizeof(char)*MAX_ERRMSG+1);
 
        return SUCCESS;
 }
 
-
 PHP_MSHUTDOWN_FUNCTION(ibase)
 {
        UNREGISTER_INI_ENTRIES();
        return SUCCESS;
 }
 
-
 PHP_RSHUTDOWN_FUNCTION(ibase)
 {
-       if (IBG(timestampformat))
-           DL_FREE(IBG(timestampformat));
+       if (IBG(timestampformat)) {
+               DL_FREE(IBG(timestampformat));
+       }
        IBG(timestampformat) = NULL;
 
-       if (IBG(dateformat))
-           DL_FREE(IBG(dateformat));
+       if (IBG(dateformat)) {
+               DL_FREE(IBG(dateformat));
+       }
        IBG(dateformat) = NULL;
 
-       if (IBG(timeformat))
-           DL_FREE(IBG(timeformat));
+       if (IBG(timeformat)) {
+               DL_FREE(IBG(timeformat));
+       }
        IBG(timeformat) = NULL;
-    
-       if (IBG(errmsg))
-           DL_FREE(IBG(errmsg));
+
+       if (IBG(errmsg)) {
+               DL_FREE(IBG(errmsg));
+       }
        IBG(errmsg) = NULL;
 
-    return SUCCESS;
+       return SUCCESS;
 } 
-
  
 PHP_MINFO_FUNCTION(ibase)
 {
        char tmp[32];
 
        php_info_print_table_start();
-       php_info_print_table_row(2, "Interbase Support", "enabled");    
+       php_info_print_table_row(2, "Interbase Support", "enabled");
        php_info_print_table_row(2, "Revision", "$Revision$");
 #ifdef COMPILE_DL_INTERBASE
        php_info_print_table_row(2, "Dynamic Module", "yes");
 #endif
-       php_info_print_table_row(2, "Allow Persistent Links", (IBG(allow_persistent)?"Yes":"No") );
+       php_info_print_table_row(2, "Allow Persistent Links", (IBG(allow_persistent) ? "Yes" : "No"));
 
        if (IBG(max_persistent) == -1) {
                snprintf(tmp, 31, "%ld/unlimited", IBG(num_persistent));
        } else {
                snprintf(tmp, 31, "%ld/%ld", IBG(num_persistent), IBG(max_persistent));
        }
-       tmp[31]=0;
-       php_info_print_table_row(2, "Persistent Links", tmp );
+       tmp[31] = 0;
+       php_info_print_table_row(2, "Persistent Links", tmp);
 
        if (IBG(max_links) == -1) {
                snprintf(tmp, 31, "%ld/unlimited", IBG(num_links));
        } else {
                snprintf(tmp, 31, "%ld/%ld", IBG(num_links), IBG(max_links));
        }
-       tmp[31]=0;
-       php_info_print_table_row(2, "Total Links", tmp );
+       tmp[31] = 0;
+       php_info_print_table_row(2, "Total Links", tmp);
 
-       php_info_print_table_row(2, "Timestamp Format", IBG(timestampformat) );
-       php_info_print_table_row(2, "Date Format", IBG(dateformat) );
-       php_info_print_table_row(2, "Time Format", IBG(timeformat) );
+       php_info_print_table_row(2, "Timestamp Format", IBG(timestampformat));
+       php_info_print_table_row(2, "Date Format", IBG(dateformat));
+       php_info_print_table_row(2, "Time Format", IBG(timeformat));
 
        php_info_print_table_end();
 }
 /* }}} */
 
 /* {{{ _php_ibase_attach_db() */
-static int _php_ibase_attach_db(char *server, char *uname, char *passwd, char *charset, int buffers, char *role, isc_db_handle *db)
+static int _php_ibase_attach_db(char *server, char *uname, char *passwd, char *charset, int buffers, char *role, isc_db_handle *db TSRMLS_DC)
 {
        char dpb_buffer[256], *dpb, *p;
        int dpb_length, len;
-       TSRMLS_FETCH();
 
        dpb = dpb_buffer;
 
@@ -722,7 +721,7 @@ static int _php_ibase_attach_db(char *server, char *uname, char *passwd, char *c
 /* {{{ _php_ibase_connect() */
 static void _php_ibase_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
 {
-       pval ***args;
+       zval ***args;
        char *ib_server = NULL, *ib_uname, *ib_passwd, *ib_charset = NULL, *ib_buffers = NULL, *ib_dialect = NULL, *ib_role = NULL;
        int i, ib_uname_len, ib_passwd_len;
        isc_db_handle db_handle = NULL;
@@ -737,17 +736,17 @@ static void _php_ibase_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
        ib_uname_len = ib_uname ? strlen(ib_uname) : 0;
        ib_passwd_len = ib_passwd ? strlen(ib_passwd) : 0;
        
-       if(ZEND_NUM_ARGS() < 1 || ZEND_NUM_ARGS() > 7){
+       if (ZEND_NUM_ARGS() < 1 || ZEND_NUM_ARGS() > 7) {
                WRONG_PARAM_COUNT;
        }
        
-       args = (pval ***) emalloc(sizeof(pval **)*ZEND_NUM_ARGS());
+       args = (zval ***) emalloc(sizeof(zval **) * ZEND_NUM_ARGS());
        if (zend_get_parameters_array_ex(ZEND_NUM_ARGS(), args) == FAILURE) {
                efree(args);
                RETURN_FALSE;
        }
 
-       switch(ZEND_NUM_ARGS()) {
+       switch (ZEND_NUM_ARGS()) {
                case 7:
                        convert_to_string_ex(args[6]);
                        ib_role = Z_STRVAL_PP(args[6]);
@@ -786,14 +785,14 @@ static void _php_ibase_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
        
        efree(args);
        
-       hashed_details = (char *) emalloc(hashed_details_length+strlen("ibase_%s_%s_%s_%s_%s_%s_%s")+1);
+       hashed_details = (char *) emalloc(hashed_details_length + strlen("ibase_%s_%s_%s_%s_%s_%s_%s") + 1);
        sprintf(hashed_details, "ibase_%s_%s_%s_%s_%s_%s_%s", SAFE_STRING(ib_server), SAFE_STRING(ib_uname), SAFE_STRING(ib_passwd), SAFE_STRING(ib_charset), SAFE_STRING(ib_buffers), SAFE_STRING(ib_dialect), SAFE_STRING(ib_role));
 
        if (persistent) {
                list_entry *le;
                int open_new_connection = 1;
                
-               if (zend_hash_find(&EG(persistent_list), hashed_details, hashed_details_length+1, (void **) &le) != FAILURE) {
+               if (zend_hash_find(&EG(persistent_list), hashed_details, hashed_details_length + 1, (void **) &le) != FAILURE) {
                        char tmp_1[] = {isc_info_base_level, isc_info_end};
                        char tmp_2[8]; /* Enough? Hope so... */ 
 
@@ -826,7 +825,7 @@ static void _php_ibase_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
 
                        if (_php_ibase_attach_db(ib_server, ib_uname, ib_passwd, ib_charset,
                                                                         (ib_buffers ? strtoul(ib_buffers, NULL, 0) : 0),
-                                                                        ib_role, &db_handle) == FAILURE) {
+                                                                        ib_role, &db_handle TSRMLS_CC) == FAILURE) {
                                efree(hashed_details);
                                RETURN_FALSE;
                        }
@@ -834,13 +833,15 @@ static void _php_ibase_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
                        ib_link = (ibase_db_link *) malloc(sizeof(ibase_db_link));
                        ib_link->link = db_handle;
                        ib_link->dialect = (ib_dialect ? (unsigned short) strtoul(ib_dialect, NULL, 10) : SQL_DIALECT_CURRENT);
-                       for (i = 0; i < IBASE_TRANS_ON_LINK; i++)
+
+                       for (i = 0; i < IBASE_TRANS_ON_LINK; i++) {
                                ib_link->trans[i] = NULL;
-                       
+                       }
+                                               
                        /* hash it up */
                        Z_TYPE(new_le) = le_plink;
                        new_le.ptr = ib_link;
-                       if (zend_hash_update(&EG(persistent_list), hashed_details, hashed_details_length+1, (void *) &new_le, sizeof(list_entry), NULL)==FAILURE) {
+                       if (zend_hash_update(&EG(persistent_list), hashed_details, hashed_details_length + 1, (void *) &new_le, sizeof(list_entry), NULL) == FAILURE) {
                                efree(hashed_details);
                                free(ib_link);
                                RETURN_FALSE;
@@ -859,7 +860,7 @@ static void _php_ibase_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
                 * if it doesn't, open a new ib_link, add it to the resource list,
                 * and add a pointer to it with hashed_details as the key.
                 */
-               if (zend_hash_find(&EG(regular_list), hashed_details, hashed_details_length+1, (void **) &index_ptr)==SUCCESS) {
+               if (zend_hash_find(&EG(regular_list), hashed_details, hashed_details_length + 1, (void **) &index_ptr) == SUCCESS) {
                        int type, xlink;
                        void *ptr;
                        if (Z_TYPE_P(index_ptr) != le_index_ptr) {
@@ -867,7 +868,7 @@ static void _php_ibase_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
                        }
                        xlink = (int) index_ptr->ptr;
                        ptr = zend_list_find(xlink, &type);      /* check if the xlink is still there */
-                       if (ptr && (type==le_link || type==le_plink)) {
+                       if (ptr && (type == le_link || type == le_plink)) {
                                zend_list_addref(xlink);
                                Z_LVAL_P(return_value) = xlink;
                                Z_TYPE_P(return_value) = IS_RESOURCE;
@@ -875,7 +876,7 @@ static void _php_ibase_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
                                efree(hashed_details);
                                return;
                        } else {
-                               zend_hash_del(&EG(regular_list), hashed_details, hashed_details_length+1);
+                               zend_hash_del(&EG(regular_list), hashed_details, hashed_details_length + 1);
                        }
                }
                if ((IBG(max_links) != -1) && (IBG(num_links) >= IBG(max_links))) {
@@ -887,7 +888,7 @@ static void _php_ibase_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
 
                if (_php_ibase_attach_db(ib_server, ib_uname, ib_passwd, ib_charset,
                                                                 (ib_buffers ? strtoul(ib_buffers, NULL, 0) : 0),
-                                                                ib_role, &db_handle) == FAILURE) {
+                                                                ib_role, &db_handle TSRMLS_CC) == FAILURE) {
                        efree(hashed_details);
                        RETURN_FALSE;
                }
@@ -895,15 +896,17 @@ static void _php_ibase_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
                ib_link = (ibase_db_link *) emalloc(sizeof(ibase_db_link));
                ib_link->link = db_handle;
                ib_link->dialect = (ib_dialect ? (unsigned short) strtoul(ib_dialect, NULL, 10) : SQL_DIALECT_CURRENT);
-               for (i = 0; i < IBASE_TRANS_ON_LINK; i++)
-                       ib_link->trans[i] = NULL;
 
+               for (i = 0; i < IBASE_TRANS_ON_LINK; i++) {
+                       ib_link->trans[i] = NULL;
+               }
+               
                ZEND_REGISTER_RESOURCE(return_value, ib_link, le_link);
 
                /* add it to the hash */
                new_index_ptr.ptr = (void *) Z_LVAL_P(return_value);
                Z_TYPE(new_index_ptr) = le_index_ptr;
-               if (zend_hash_update(&EG(regular_list), hashed_details, hashed_details_length+1, (void *) &new_index_ptr, sizeof(list_entry), NULL)==FAILURE) {
+               if (zend_hash_update(&EG(regular_list), hashed_details, hashed_details_length + 1, (void *) &new_index_ptr, sizeof(list_entry), NULL) == FAILURE) {
                        efree(hashed_details);
                        RETURN_FALSE;
                }
@@ -964,37 +967,34 @@ PHP_FUNCTION(ibase_close)
 /* }}} */
 
 /* {{{ _php_ibase_alloc_array() */
-static int _php_ibase_alloc_array(ibase_array **ib_arrayp, int *array_cntp,
-                                                                 XSQLDA *sqlda, isc_db_handle link, isc_tr_handle trans)
+static int _php_ibase_alloc_array(ibase_array **ib_arrayp, int *array_cntp, XSQLDA *sqlda, isc_db_handle link, isc_tr_handle trans TSRMLS_DC)
 {
 #define IB_ARRAY (*ib_arrayp)
-       
+
        int i, dim, ar_cnt, ar_length;
        XSQLVAR *var;
-       TSRMLS_FETCH(); 
 
        IB_ARRAY = NULL;
        
        ar_cnt = 0; /* find arrays */
        var = sqlda->sqlvar;
        for (i = 0; i < sqlda->sqld; i++, var++) {
-               if ((var->sqltype & ~1) == SQL_ARRAY)
+               if ((var->sqltype & ~1) == SQL_ARRAY) {
                        ar_cnt++;
+               }
        }
 
        if (ar_cnt) {     /* have  arrays ? */
-
                *array_cntp = ar_cnt;
                IB_ARRAY = emalloc(sizeof(ibase_array)*ar_cnt);
                ar_cnt = 0;
                var = sqlda->sqlvar;
                for (i = 0; i < sqlda->sqld; i++, var++) {
                        if ((var->sqltype & ~1) == SQL_ARRAY) {
-                               
+                       
                                ISC_ARRAY_DESC *ar_desc = &IB_ARRAY[ar_cnt].ar_desc;
                                
-                               if (isc_array_lookup_bounds(IB_STATUS, &link, &trans,
-                                                                                       var->relname, var->sqlname, ar_desc)) {
+                               if (isc_array_lookup_bounds(IB_STATUS, &link, &trans, var->relname, var->sqlname, ar_desc)) {
                                        _php_ibase_error(TSRMLS_C);
                                        efree(IB_ARRAY);
                                        IB_ARRAY = NULL;
@@ -1005,7 +1005,7 @@ static int _php_ibase_alloc_array(ibase_array **ib_arrayp, int *array_cntp,
                                        case blr_text:
                                        case blr_text2:
                                                IB_ARRAY[ar_cnt].el_type = SQL_TEXT;
-                                               IB_ARRAY[ar_cnt].el_size = ar_desc->array_desc_length+1;
+                                               IB_ARRAY[ar_cnt].el_size = ar_desc->array_desc_length + 1;
                                                break;
                                        case blr_short:
                                                IB_ARRAY[ar_cnt].el_type = SQL_SHORT;
@@ -1031,11 +1031,10 @@ static int _php_ibase_alloc_array(ibase_array **ib_arrayp, int *array_cntp,
                                        case blr_varying2:      /* changed to SQL_TEXT ? */
                                                /* sql_type = SQL_VARYING; Why? FIXME: ??? */
                                                IB_ARRAY[ar_cnt].el_type = SQL_TEXT;
-                                               IB_ARRAY[ar_cnt].el_size = ar_desc->array_desc_length+sizeof(short);
+                                               IB_ARRAY[ar_cnt].el_size = ar_desc->array_desc_length + sizeof(short);
                                                break;
                                        default:
-                                               _php_ibase_module_error("Unexpected array type %d in relation '%s' column '%s'",
-                                                                                               ar_desc->array_desc_dtype, var->relname, var->sqlname);
+                                               _php_ibase_module_error("Unexpected array type %d in relation '%s' column '%s'", ar_desc->array_desc_dtype, var->relname, var->sqlname);
                                                efree(IB_ARRAY);
                                                IB_ARRAY = NULL;
                                                return FAILURE;
@@ -1043,8 +1042,7 @@ static int _php_ibase_alloc_array(ibase_array **ib_arrayp, int *array_cntp,
                                
                                ar_length = 0; /* calculate elements count */
                                for (dim = 0; dim < ar_desc->array_desc_dimensions; dim++) {
-                                       ar_length += 1 + ar_desc->array_desc_bounds[dim].array_bound_upper
-                                               - ar_desc->array_desc_bounds[dim].array_bound_lower;
+                                       ar_length += 1 + ar_desc->array_desc_bounds[dim].array_bound_upper - ar_desc->array_desc_bounds[dim].array_bound_lower;
                                }
                                IB_ARRAY[ar_cnt].ar_size = IB_ARRAY[ar_cnt].el_size * ar_length;
                                
@@ -1061,10 +1059,9 @@ static int _php_ibase_alloc_array(ibase_array **ib_arrayp, int *array_cntp,
 
 /* {{{ _php_ibase_alloc_query() */
 /* allocate and prepare query */
-static int _php_ibase_alloc_query(ibase_query **ib_queryp, isc_db_handle link, isc_tr_handle trans, char *query, unsigned short dialect)
+static int _php_ibase_alloc_query(ibase_query **ib_queryp, isc_db_handle link, isc_tr_handle trans, char *query, unsigned short dialect TSRMLS_DC)
 {
 #define IB_QUERY (*ib_queryp)
-       TSRMLS_FETCH();
        
        IB_QUERY = emalloc(sizeof(ibase_query));
        IB_QUERY->link = link;
@@ -1124,13 +1121,11 @@ static int _php_ibase_alloc_query(ibase_query **ib_queryp, isc_db_handle link, i
        }
        
        /* allocate arrays... */
-       if (_php_ibase_alloc_array(&IB_QUERY->in_array, &IB_QUERY->in_array_cnt,
-                                                          IB_QUERY->in_sqlda, link, trans) == FAILURE) {
+       if (_php_ibase_alloc_array(&IB_QUERY->in_array, &IB_QUERY->in_array_cnt, IB_QUERY->in_sqlda, link, trans TSRMLS_CC) == FAILURE) {
                goto _php_ibase_alloc_query_error; /* error report already done */
        }
        
-       if (_php_ibase_alloc_array(&IB_QUERY->out_array, &IB_QUERY->out_array_cnt,
-                                                          IB_QUERY->out_sqlda, link, trans) == FAILURE) {
+       if (_php_ibase_alloc_array(&IB_QUERY->out_array, &IB_QUERY->out_array_cnt, IB_QUERY->out_sqlda, link, trans TSRMLS_CC) == FAILURE) {
                goto _php_ibase_alloc_query_error;
        }
 
@@ -1149,12 +1144,15 @@ static int _php_ibase_alloc_query(ibase_query **ib_queryp, isc_db_handle link, i
        
 _php_ibase_alloc_query_error:
        
-       if (IB_QUERY->out_sqlda)
+       if (IB_QUERY->out_sqlda) {
                efree(IB_QUERY->out_sqlda);
-       if (IB_QUERY->in_sqlda)
+       }
+       if (IB_QUERY->in_sqlda) {
                efree(IB_QUERY->in_sqlda);
-       if (IB_QUERY->out_array)
+       }
+       if (IB_QUERY->out_array) {
                efree(IB_QUERY->out_array);
+       }
        efree(IB_QUERY);
        IB_QUERY = NULL;
        
@@ -1165,17 +1163,17 @@ _php_ibase_alloc_query_error:
 
 /* {{{ _php_ibase_bind()
    Bind parameter placeholders in a previously prepared query */
-static int _php_ibase_bind(XSQLDA *sqlda, pval **b_vars, BIND_BUF *buf, ibase_query *ib_query)
+static int _php_ibase_bind(XSQLDA *sqlda, zval **b_vars, BIND_BUF *buf, ibase_query *ib_query TSRMLS_DC)
 {
        XSQLVAR *var;
-       pval *b_var;
+       zval *b_var;
        int i;
 
        var = sqlda->sqlvar;
        for (i = 0; i < sqlda->sqld; var++, i++) { /* binded vars */
                
                buf[i].sqlind = 0;
-               var->sqlind      = &buf[i].sqlind;
+               var->sqlind = &buf[i].sqlind;
                b_var = b_vars[i];
                
                if (Z_TYPE_P(b_var) == IS_NULL) {
@@ -1184,14 +1182,16 @@ static int _php_ibase_bind(XSQLDA *sqlda, pval **b_vars, BIND_BUF *buf, ibase_qu
                        var->sqldata = nothing;
                        var->sqltype |= 1;
                        var->sqlind = &null_flag;
-                       if (var->sqllen > 64)
+                       if (var->sqllen > 64) {
                                var->sqllen = 64;
+                       }
                } else
-               switch(var->sqltype & ~1) {
+       
+               switch (var->sqltype & ~1) {
                        case SQL_TEXT:                     /* direct to variable */
                        case SQL_VARYING:
                                convert_to_string(b_var);
-                               var->sqldata = (void ISC_FAR *)Z_STRVAL_P(b_var);
+                               var->sqldata = (void ISC_FAR *) Z_STRVAL_P(b_var);
                                var->sqllen      = Z_STRLEN_P(b_var);
                                var->sqltype = SQL_TEXT + (var->sqltype & 1);
                                break;
@@ -1201,8 +1201,8 @@ static int _php_ibase_bind(XSQLDA *sqlda, pval **b_vars, BIND_BUF *buf, ibase_qu
                                        _php_ibase_module_error("Field %*s overflow", var->aliasname_length, var->aliasname);
                                        return FAILURE;
                                }
-                               buf[i].val.sval = (short)Z_LVAL_P(b_var);
-                               var->sqldata = (void ISC_FAR *)(&buf[i].val.sval);
+                               buf[i].val.sval = (short) Z_LVAL_P(b_var);
+                               var->sqldata = (void ISC_FAR *) (&buf[i].val.sval);
                                break;
                        case SQL_LONG:
                                if (var->sqlscale < 0) {
@@ -1212,22 +1212,22 @@ static int _php_ibase_bind(XSQLDA *sqlda, pval **b_vars, BIND_BUF *buf, ibase_qu
                                          handle it.
                                        */
                                        convert_to_string(b_var);
-                                       var->sqldata = (void ISC_FAR *)Z_STRVAL_P(b_var);
+                                       var->sqldata = (void ISC_FAR *) Z_STRVAL_P(b_var);
                                        var->sqllen      = Z_STRLEN_P(b_var);
                                        var->sqltype = SQL_TEXT;
                                } else {
                                        convert_to_long(b_var);
-                                       var->sqldata = (void ISC_FAR *)(&Z_LVAL_P(b_var));
+                                       var->sqldata = (void ISC_FAR *) (&Z_LVAL_P(b_var));
                                }
                                break;
                        case SQL_FLOAT:
                                convert_to_double(b_var);
-                               buf[i].val.fval = (float)Z_DVAL_P(b_var);
-                               var->sqldata = (void ISC_FAR *)(&buf[i].val.fval);
+                               buf[i].val.fval = (float) Z_DVAL_P(b_var);
+                               var->sqldata = (void ISC_FAR *) (&buf[i].val.fval);
                                break;
                        case SQL_DOUBLE:  /* direct to variable */
                                convert_to_double(b_var);
-                               var->sqldata = (void ISC_FAR *)(&Z_DVAL_P(b_var));
+                               var->sqldata = (void ISC_FAR *) (&Z_DVAL_P(b_var));
                                break;
 #ifdef SQL_INT64
                        case SQL_INT64:
@@ -1237,7 +1237,7 @@ static int _php_ibase_bind(XSQLDA *sqlda, pval **b_vars, BIND_BUF *buf, ibase_qu
                                  to avoid rounding errors...
                                */
                                convert_to_string(b_var);
-                               var->sqldata = (void ISC_FAR *)Z_STRVAL_P(b_var);
+                               var->sqldata = (void ISC_FAR *) Z_STRVAL_P(b_var);
                                var->sqllen      = Z_STRLEN_P(b_var);
                                var->sqltype = SQL_TEXT;
                                break;
@@ -1256,21 +1256,20 @@ static int _php_ibase_bind(XSQLDA *sqlda, pval **b_vars, BIND_BUF *buf, ibase_qu
                                        struct tm t;
                                        int n;
                                        
-                                       t.tm_year = t.tm_mon = t.tm_mday = t.tm_hour =
-                                       t.tm_min = t.tm_sec = 0;
+                                       t.tm_year = t.tm_mon = t.tm_mday = t.tm_hour = t.tm_min = t.tm_sec = 0;
                                        
                                        convert_to_string(b_var);
                                        
-                                       n = sscanf(Z_STRVAL_P(b_var), "%d%*[/]%d%*[/]%d %d%*[:]%d%*[:]%d",
-                                                  &t.tm_mon, &t.tm_mday, &t.tm_year,  &t.tm_hour, &t.tm_min, &t.tm_sec);
-                                       if(n != 3 && n != 6){
+                                       n = sscanf(Z_STRVAL_P(b_var), "%d%*[/]%d%*[/]%d %d%*[:]%d%*[:]%d", &t.tm_mon, &t.tm_mday, &t.tm_year, &t.tm_hour, &t.tm_min, &t.tm_sec);
+
+                                       if (n != 3 && n != 6) {
                                                _php_ibase_module_error("Invalid date/time format: Expected 3 or 6 fields, got %d. Use format m/d/Y H:i:s. You gave '%s'", n, Z_STRVAL_P(b_var));
                                                return FAILURE;
                                        }
                                        t.tm_year -= 1900;
                                        t.tm_mon--;
                                        isc_encode_date(&t, &buf[i].val.qval);
-                                       var->sqldata = (void ISC_FAR *)(&buf[i].val.qval);
+                                       var->sqldata = (void ISC_FAR *) (&buf[i].val.qval);
                                }
 #else
                                /*
@@ -1281,7 +1280,7 @@ static int _php_ibase_bind(XSQLDA *sqlda, pval **b_vars, BIND_BUF *buf, ibase_qu
                                  ask Sascha?
                                */
                                convert_to_string(b_var);
-                               var->sqldata = (void ISC_FAR *)Z_STRVAL_P(b_var);
+                               var->sqldata = (void ISC_FAR *) Z_STRVAL_P(b_var);
                                var->sqllen = Z_STRLEN_P(b_var);
                                var->sqltype = SQL_TEXT;
 #endif
@@ -1293,23 +1292,23 @@ static int _php_ibase_bind(XSQLDA *sqlda, pval **b_vars, BIND_BUF *buf, ibase_qu
 #ifndef SQL_TIMESTAMP
                                        strptime(Z_STRVAL_P(b_var), IBG(timestampformat), &t);
                                        isc_encode_date(&t, &buf[i].val.qval);
-                                       var->sqldata = (void ISC_FAR *)(&buf[i].val.qval);
+                                       var->sqldata = (void ISC_FAR *) (&buf[i].val.qval);
 #else
                                        switch (var->sqltype & ~1) {
                                                case SQL_TIMESTAMP:
                                                        strptime(Z_STRVAL_P(b_var), IBG(timestampformat), &t);
                                                        isc_encode_timestamp(&t, &buf[i].val.tsval);
-                                                       var->sqldata = (void ISC_FAR *)(&buf[i].val.tsval);
+                                                       var->sqldata = (void ISC_FAR *) (&buf[i].val.tsval);
                                                        break;
                                                case SQL_TYPE_DATE:
                                                        strptime(Z_STRVAL_P(b_var), IBG(dateformat), &t);
                                                        isc_encode_sql_date(&t, &buf[i].val.dtval);
-                                                       var->sqldata = (void ISC_FAR *)(&buf[i].val.dtval);
+                                                       var->sqldata = (void ISC_FAR *) (&buf[i].val.dtval);
                                                        break;
                                                case SQL_TYPE_TIME:
                                                        strptime(Z_STRVAL_P(b_var), IBG(timeformat), &t);
                                                        isc_encode_sql_time(&t, &buf[i].val.tmval);
-                                                       var->sqldata = (void ISC_FAR *)(&buf[i].val.tmval);
+                                                       var->sqldata = (void ISC_FAR *) (&buf[i].val.tmval);
                                                        break;
                                        }
 #endif
@@ -1319,11 +1318,9 @@ static int _php_ibase_bind(XSQLDA *sqlda, pval **b_vars, BIND_BUF *buf, ibase_qu
                        case SQL_BLOB:
                                {
                                        ibase_blob_handle *ib_blob_id;
-                                       if (Z_TYPE_P(b_var) != IS_STRING
-                                               || Z_STRLEN_P(b_var) != sizeof(ibase_blob_handle)
-                                               || ((ibase_blob_handle *)(Z_STRVAL_P(b_var)))->bl_handle != 0) {
+                                       if (Z_TYPE_P(b_var) != IS_STRING || Z_STRLEN_P(b_var) != sizeof(ibase_blob_handle) || 
+                                          ((ibase_blob_handle *)(Z_STRVAL_P(b_var)))->bl_handle != 0) {
                                                ibase_blob_handle *ib_blob;
-                                               TSRMLS_FETCH();
 
                                                ib_blob = (ibase_blob_handle *) emalloc(sizeof(ibase_blob_handle));
                                                ib_blob->trans_handle = ib_query->trans;
@@ -1344,15 +1341,15 @@ static int _php_ibase_bind(XSQLDA *sqlda, pval **b_vars, BIND_BUF *buf, ibase_qu
                                                        return FAILURE;
                                                }
                                                ib_blob_id = ib_blob;
-                                               var->sqldata = (void ISC_FAR *)&ib_blob_id->bl_qd;
+                                               var->sqldata = (void ISC_FAR *) &ib_blob_id->bl_qd;
 /*
                                                _php_ibase_module_error("Invalid blob id string");
                                                return FAILURE;
 */
                                        } else {
-                                               ib_blob_id = (ibase_blob_handle *)Z_STRVAL_P(b_var);
+                                               ib_blob_id = (ibase_blob_handle *) Z_STRVAL_P(b_var);
                                        
-                                               var->sqldata = (void ISC_FAR *)&ib_blob_id->bl_qd;
+                                               var->sqldata = (void ISC_FAR *) &ib_blob_id->bl_qd;
                                        }
                                }
                        break;
@@ -1360,8 +1357,9 @@ static int _php_ibase_bind(XSQLDA *sqlda, pval **b_vars, BIND_BUF *buf, ibase_qu
                                _php_ibase_module_error("Binding arrays not supported yet");
                                return FAILURE;
                        break;
-               } /*switch*/
-       } /*for*/
+               } /* switch */
+       } /* for */
+
        return SUCCESS;
 }
 /* }}} */
@@ -1371,15 +1369,14 @@ static void _php_ibase_alloc_xsqlda(XSQLDA *sqlda)
 {
        int i;
        XSQLVAR *var = sqlda->sqlvar;
-       
-       
+
        for (i = 0; i < sqlda->sqld; i++, var++) {
-               switch(var->sqltype & ~1) {
+               switch (var->sqltype & ~1) {
                        case SQL_TEXT:
-                               var->sqldata = emalloc(sizeof(char)*(var->sqllen));
+                               var->sqldata = emalloc(sizeof(char) * (var->sqllen));
                                break;
                        case SQL_VARYING:
-                               var->sqldata = emalloc(sizeof(char)*(var->sqllen+sizeof(short)));
+                               var->sqldata = emalloc(sizeof(char) * (var->sqllen + sizeof(short)));
                                break;
                        case SQL_SHORT:
                                var->sqldata = emalloc(sizeof(short));
@@ -1415,23 +1412,24 @@ static void _php_ibase_alloc_xsqlda(XSQLDA *sqlda)
                        case SQL_ARRAY:
                                var->sqldata = emalloc(sizeof(ISC_QUAD));
                                break;
-               } /*switch*/
-               if (var->sqltype & 1) /* sql NULL flag */
+               } /* switch */
+
+               if (var->sqltype & 1) { /* sql NULL flag */
                        var->sqlind = emalloc(sizeof(short));
-               else
+               } else {
                        var->sqlind = NULL;
-       } /* for*/
+               }
+       } /* for */
 }
 /* }}} */
 
 /* {{{ _php_ibase_exec() */
-static int _php_ibase_exec(ibase_result **ib_resultp, ibase_query *ib_query, int argc, pval **args)
+static int _php_ibase_exec(ibase_result **ib_resultp, ibase_query *ib_query, int argc, zval **args TSRMLS_DC)
 {
 #define IB_RESULT (*ib_resultp)
        XSQLDA *in_sqlda = NULL, *out_sqlda = NULL;
        BIND_BUF *bind_buf = NULL;
        int rv = FAILURE;
-       TSRMLS_FETCH();
        
        IB_RESULT = NULL;
 
@@ -1453,8 +1451,8 @@ static int _php_ibase_exec(ibase_result **ib_resultp, ibase_query *ib_query, int
                _php_ibase_alloc_xsqlda(out_sqlda);
 
                if (ib_query->out_array) {
-                       IB_RESULT->out_array = emalloc(sizeof(ibase_array)*ib_query->out_array_cnt);
-                       memcpy(IB_RESULT->out_array, ib_query->out_array, sizeof(ibase_array)*ib_query->out_array_cnt);
+                       IB_RESULT->out_array = emalloc(sizeof(ibase_array) * ib_query->out_array_cnt);
+                       memcpy(IB_RESULT->out_array, ib_query->out_array, sizeof(ibase_array) * ib_query->out_array_cnt);
                } else {
                        IB_RESULT->out_array = NULL;
                }
@@ -1469,7 +1467,7 @@ static int _php_ibase_exec(ibase_result **ib_resultp, ibase_query *ib_query, int
                in_sqlda = emalloc(XSQLDA_LENGTH(ib_query->in_sqlda->sqld));
                memcpy(in_sqlda, ib_query->in_sqlda, XSQLDA_LENGTH(ib_query->in_sqlda->sqld));
                bind_buf = emalloc(sizeof(BIND_BUF) * ib_query->in_sqlda->sqld);
-               if (_php_ibase_bind(in_sqlda, args, bind_buf, ib_query) == FAILURE) {
+               if (_php_ibase_bind(in_sqlda, args, bind_buf, ib_query TSRMLS_CC) == FAILURE) {
                        IBDEBUG("Could not bind input XSQLDA");
                        goto _php_ibase_exec_error;
                }
@@ -1485,7 +1483,7 @@ static int _php_ibase_exec(ibase_result **ib_resultp, ibase_query *ib_query, int
        
 _php_ibase_exec_error:          /* I'm a bad boy... */
        
-       if (in_sqlda){
+       if (in_sqlda) {
                efree(in_sqlda);
        }
        if (bind_buf)
@@ -1496,8 +1494,9 @@ _php_ibase_exec_error:             /* I'm a bad boy... */
                        efree(IB_RESULT);
                        IB_RESULT = NULL;
                }
-               if (out_sqlda)
+               if (out_sqlda) {
                        _php_ibase_free_xsqlda(out_sqlda);
+               }
        }
        
        return rv;
@@ -1509,7 +1508,7 @@ _php_ibase_exec_error:             /* I'm a bad boy... */
    Start transaction */
 PHP_FUNCTION(ibase_trans)
 {
-       pval ***args;
+       zval ***args;
        char tpb[20], *tpbp = NULL;
        long trans_argl = 0;
        int tpb_len = 0, argn, link_id, trans_n = 0, i;
@@ -1527,7 +1526,7 @@ PHP_FUNCTION(ibase_trans)
        }
 
        if (argn) {
-               args = (pval ***) emalloc(sizeof(pval **)*argn);
+               args = (zval ***) emalloc(sizeof(zval **) * argn);
                if (zend_get_parameters_array_ex(argn, args) == FAILURE) {
                        efree(args);
                        RETURN_FALSE;
@@ -1573,6 +1572,7 @@ PHP_FUNCTION(ibase_trans)
                } else {
                        tpb[tpb_len++] = isc_tpb_concurrency;   /* default isolation level */ 
                }
+               
                /* lock resolution */
                if (trans_argl & PHP_IBASE_NOWAIT) {
                        tpb[tpb_len++] = isc_tpb_nowait;
@@ -1582,9 +1582,7 @@ PHP_FUNCTION(ibase_trans)
        }
 
        /* find empty transaction slot */
-       for (trans_n = 0; trans_n < IBASE_TRANS_ON_LINK
-               && ib_link->trans[trans_n]; trans_n++)
-               ;
+       for (trans_n = 0; trans_n < IBASE_TRANS_ON_LINK && ib_link->trans[trans_n]; trans_n++);
        if (trans_n == IBASE_TRANS_ON_LINK) {
                _php_ibase_module_error("Too many transactions on link");
                RETURN_FALSE;
@@ -1604,10 +1602,8 @@ PHP_FUNCTION(ibase_trans)
 
 /* {{{ _php_ibase_def_trans() */
 /* open default transaction */
-static int _php_ibase_def_trans(ibase_db_link * ib_link, int trans_n)
+static int _php_ibase_def_trans(ibase_db_link * ib_link, int trans_n TSRMLS_DC)
 {
-       TSRMLS_FETCH();
-       
        if (ib_link == NULL) {
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid database link");
                return FAILURE;
@@ -1628,7 +1624,7 @@ static int _php_ibase_def_trans(ibase_db_link * ib_link, int trans_n)
 #define ROLLBACK 0
 static void _php_ibase_trans_end(INTERNAL_FUNCTION_PARAMETERS, int commit)
 {
-       pval **link_trans_arg = NULL;
+       zval **link_trans_arg = NULL;
        int link_id = 0, trans_n = 0, trans_id = 0;
        ibase_db_link *ib_link;
 
@@ -1656,7 +1652,7 @@ static void _php_ibase_trans_end(INTERNAL_FUNCTION_PARAMETERS, int commit)
        }
 
        if (ib_link->trans[trans_n] == NULL) {
-               php_error(E_WARNING, "Trying to commit or rollback an already handled transaction");
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Trying to commit or rollback an already handled transaction");
                RETURN_FALSE;
        }
 
@@ -1682,7 +1678,7 @@ static void _php_ibase_trans_end(INTERNAL_FUNCTION_PARAMETERS, int commit)
 }
 /* }}} */
 
-/* {{{ proto bool ibase_commit(resource link_identifier)
+/* {{{ proto bool ibase_commit( resource link_identifier )
    Commit transaction */
 PHP_FUNCTION(ibase_commit)
 {
@@ -1690,7 +1686,7 @@ PHP_FUNCTION(ibase_commit)
 }
 /* }}} */
 
-/* {{{ proto bool ibase_rollback(resource link_identifier)
+/* {{{ proto bool ibase_rollback( resource link_identifier )
    Rollback transaction */
 PHP_FUNCTION(ibase_rollback)
 {
@@ -1702,7 +1698,7 @@ PHP_FUNCTION(ibase_rollback)
    Execute a query */
 PHP_FUNCTION(ibase_query)
 {
-       pval ***args, **bind_args = NULL, **dummy = NULL;
+       zval ***args, **bind_args = NULL, **dummy = NULL;
        int i, link_id = 0, trans_n = 0, bind_n = 0, trans_id = 0;
        char *query;
        ibase_db_link *ib_link;
@@ -1715,7 +1711,7 @@ PHP_FUNCTION(ibase_query)
                WRONG_PARAM_COUNT;
        }
 
-       args = (pval ***) emalloc(sizeof(pval **)*ZEND_NUM_ARGS());
+       args = (zval ***) emalloc(sizeof(zval **) * ZEND_NUM_ARGS());
        if (zend_get_parameters_array_ex(ZEND_NUM_ARGS(), args) == FAILURE) {
                efree(args);
                RETURN_FALSE;
@@ -1749,18 +1745,18 @@ PHP_FUNCTION(ibase_query)
        }
        
        /* open default transaction */
-       if (_php_ibase_def_trans(ib_link, trans_n) == FAILURE) {
+       if (_php_ibase_def_trans(ib_link, trans_n TSRMLS_CC) == FAILURE) {
                efree(args);
                RETURN_FALSE;
        }
 
-       if (_php_ibase_alloc_query(&ib_query, ib_link->link, ib_link->trans[trans_n], query, ib_link->dialect) == FAILURE) {
+       if (_php_ibase_alloc_query(&ib_query, ib_link->link, ib_link->trans[trans_n], query, ib_link->dialect TSRMLS_CC) == FAILURE) {
                efree(args);
                RETURN_FALSE;
        }
 
-       if (_php_ibase_exec(&ib_result, ib_query, bind_n, bind_args) == FAILURE) {
-               _php_ibase_free_query(ib_query);
+       if (_php_ibase_exec(&ib_result, ib_query, bind_n, bind_args TSRMLS_CC) == FAILURE) {
+               _php_ibase_free_query(ib_query TSRMLS_CC);
                efree(args);
                RETURN_FALSE;
        }
@@ -1770,43 +1766,43 @@ PHP_FUNCTION(ibase_query)
        if (ib_result) { /* select statement */
                ib_result->drop_stmt = 1; /* drop stmt when free result */
                ib_query->stmt = NULL; /* keep stmt when free query */
-               _php_ibase_free_query(ib_query);
+               _php_ibase_free_query(ib_query TSRMLS_CC);
                ZEND_REGISTER_RESOURCE(return_value, ib_result, le_result);
        } else {
-               _php_ibase_free_query(ib_query);
+               _php_ibase_free_query(ib_query TSRMLS_CC);
                RETURN_TRUE;
        }
 }
 /* }}} */
 
-/* {{{ _php_ibase_var_pval() */
-static int _php_ibase_var_pval(pval *val, void *data, int type, int len, int scale, int flag TSRMLS_DC)
+/* {{{ _php_ibase_var_zval() */
+static int _php_ibase_var_zval(zval *val, void *data, int type, int len, int scale, int flag TSRMLS_DC)
 {
        char string_data[255];
        
-       switch(type & ~1) {
+       switch (type & ~1) {
                case SQL_VARYING:
                        len = ((IBASE_VCHAR *) data)->var_len;
                        data = ((IBASE_VCHAR *) data)->var_str;
                        /* fallout */
                case SQL_TEXT:
-                       Z_STRVAL_P(val) = (char *)emalloc(sizeof(char)*(len+1));
+                       Z_STRVAL_P(val) = (char *) emalloc(sizeof(char) * (len + 1));
                        memcpy(Z_STRVAL_P(val), data, len);
                        Z_STRVAL_P(val)[len] = '\0';
                        if (PG(magic_quotes_runtime)) {
                                Z_STRVAL_P(val) = php_addslashes(Z_STRVAL_P(val), len, &len, 1 TSRMLS_CC);
-            }
+                       }
                        Z_TYPE_P(val) = IS_STRING;
                        Z_STRLEN_P(val) = len;
                        break;
                case SQL_LONG:
                case SQL_SHORT:
                        if (scale) {
-                               short j ;
+                               short j;
                                long n, f = 1;
                                if ( (type & ~1) == SQL_SHORT) {
                                        n = (long) *(short *) (data);
-                               }else { 
+                               }else { 
                                        n = (long) *(long *) (data);
                                }
                                for (j = 0; j < -scale; j++) {
@@ -1832,17 +1828,16 @@ static int _php_ibase_var_pval(pval *val, void *data, int type, int len, int sca
                        break;
                case SQL_FLOAT:
                        Z_TYPE_P(val) = IS_DOUBLE;
-                       Z_DVAL_P(val) = *(float *)(data);
+                       Z_DVAL_P(val) = *(float *) (data);
                        break;
                case SQL_DOUBLE:
                        if (scale) {
                                Z_TYPE_P(val) = IS_STRING;
-                               Z_STRLEN_P(val) = sprintf(string_data, "%.*f", -scale, *(double *)data);
+                               Z_STRLEN_P(val) = sprintf(string_data, "%.*f", -scale, *(double *) data);
                                Z_STRVAL_P(val) = estrdup(string_data);
-                               
                        } else {
                                Z_TYPE_P(val) = IS_DOUBLE;
-                               Z_DVAL_P(val) = *(double *)data;
+                               Z_DVAL_P(val) = *(double *) data;
                        }
                        break;
 #ifdef SQL_INT64
@@ -1850,12 +1845,12 @@ static int _php_ibase_var_pval(pval *val, void *data, int type, int len, int sca
                        Z_TYPE_P(val) = IS_STRING;
                        if (scale < 0 ){
                                short j = 0;
-                               ISC_INT64 f = 1;
-                               ISC_INT64 n = (ISC_INT64) *(ISC_INT64 *) data;
+                               ISC_INT64 n, f = 1;
+                               n = (ISC_INT64) *(ISC_INT64 *) data;
                                for (j = 0; j < -scale; j++) {
                                        f *= 10;
                                }
-                               if (n >= 0){
+                               if ( n >= 0){
                                Z_STRLEN_P(val) = sprintf (string_data, "%" ISC_INT64_FORMAT "d.%0*" ISC_INT64_FORMAT "d",
                                                                                        (ISC_INT64) n / f, -scale, (ISC_INT64) n % f );
                                }else if ((n/f) != 0 ){
@@ -1867,7 +1862,7 @@ static int _php_ibase_var_pval(pval *val, void *data, int type, int len, int sca
                                }
                        } else {
                                Z_STRLEN_P(val) =sprintf (string_data, "%.0" ISC_INT64_FORMAT "d",
-                                                                               (ISC_INT64) *(ISC_INT64 *) data);
+                                                                                           (ISC_INT64) *(ISC_INT64 *) data);
                        }
 
                        Z_STRVAL_P(val) = estrdup(string_data);
@@ -1922,16 +1917,13 @@ static int _php_ibase_var_pval(pval *val, void *data, int type, int len, int sca
                                Z_STRLEN_P(val) = strftime(string_data, sizeof(string_data), format, &t);
 #else
                                /* FIXME */
-                               if (!t.tm_hour && !t.tm_min && !t.tm_sec)
-                                       Z_STRLEN_P(val) = sprintf(string_data, "%02d/%02d/%4d", t.tm_mon+1, t.tm_mday, t.tm_year+1900);
-                               else
-                                       Z_STRLEN_P(val) = sprintf(string_data, "%02d/%02d/%4d %02d:%02d:%02d",
-                                                                        t.tm_mon+1, t.tm_mday, t.tm_year+1900, t.tm_hour, t.tm_min, t.tm_sec);
+                               if (!t.tm_hour && !t.tm_min && !t.tm_sec) {
+                                       Z_STRLEN_P(val) = sprintf(string_data, "%02d/%02d/%4d", t.tm_mon + 1, t.tm_mday, t.tm_year + 1900);
+                               } else {
+                                       Z_STRLEN_P(val) = sprintf(string_data, "%02d/%02d/%4d %02d:%02d:%02d", t.tm_mon+1, t.tm_mday, t.tm_year + 1900, t.tm_hour, t.tm_min, t.tm_sec);
+                               }
 #endif
                                Z_STRVAL_P(val) = estrdup(string_data);
-                               /*
-                               Z_STRVAL_P(val) = string_data;
-                               */
                                break;
                        }
                }
@@ -1942,14 +1934,14 @@ static int _php_ibase_var_pval(pval *val, void *data, int type, int len, int sca
 }
 /* }}} */
 
-/* {{{ _php_ibase_arr_pval() */
+/* {{{ _php_ibase_arr_zval() */
 /* create multidimension array - resursion function
- (*datap) argument changed */
-static int _php_ibase_arr_pval(pval *ar_pval, char **datap, ibase_array *ib_array, int dim, int flag TSRMLS_DC)
+ * (*datap) argument changed 
+ */
+static int _php_ibase_arr_zval(zval *ar_zval, char **datap, ibase_array *ib_array, int dim, int flag TSRMLS_DC)
 {
-       pval tmp;
+       zval tmp;
        int i, dim_len, l_bound, u_bound;
-       
 
        if (dim > 16) { /* InterBase limit */
                _php_ibase_module_error("Too many dimensions");
@@ -1963,25 +1955,24 @@ static int _php_ibase_arr_pval(pval *ar_pval, char **datap, ibase_array *ib_arra
        if (dim < ib_array->ar_desc.array_desc_dimensions - 1) { /* array again */
                for (i = 0; i < dim_len; i++) {
                        /* recursion here */
-                       if (_php_ibase_arr_pval(ar_pval, datap, ib_array, dim+1, flag TSRMLS_CC) == FAILURE) {
+                       if (_php_ibase_arr_zval(ar_zval, datap, ib_array, dim + 1, flag TSRMLS_CC) == FAILURE) {
                                return FAILURE;
                        }
                }
        } else { /* data at last */
                
-               array_init(ar_pval);
+               array_init(ar_zval);
 
                for (i = 0; i < dim_len; i++) {
-                       if (_php_ibase_var_pval(&tmp, *datap, ib_array->el_type,
+                       if (_php_ibase_var_zval(&tmp, *datap, 
+                                                                       ib_array->el_type,
                                                                        ib_array->ar_desc.array_desc_length,
                                                                        ib_array->ar_desc.array_desc_scale,
-                                                                       flag TSRMLS_CC) == FAILURE){
+                                                                       flag TSRMLS_CC) == FAILURE) {
                                return FAILURE;
                        }
                        /* FIXME ??? */
-                       zend_hash_index_update(Z_ARRVAL_P(ar_pval),
-                                                                  l_bound + i,
-                                                                  (void *) &tmp, sizeof(pval), NULL);
+                       zend_hash_index_update(Z_ARRVAL_P(ar_zval), l_bound + i, (void *) &tmp, sizeof(zval), NULL);
                        *datap += ib_array->el_size;
                }
        }
@@ -2004,14 +1995,14 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
        
        RESET_ERRMSG;
        
-       switch(ZEND_NUM_ARGS()) {
+       switch (ZEND_NUM_ARGS()) {
                case 1:
-                       if (ZEND_NUM_ARGS()==1 && zend_get_parameters_ex(1, &result_arg)==FAILURE) {
+                       if (ZEND_NUM_ARGS() == 1 && zend_get_parameters_ex(1, &result_arg) == FAILURE) {
                                RETURN_FALSE;
                        }
                        break;
                case 2:
-                       if (ZEND_NUM_ARGS()==2 && zend_get_parameters_ex(2, &result_arg, &flag_arg)==FAILURE) {
+                       if (ZEND_NUM_ARGS() == 2 && zend_get_parameters_ex(2, &result_arg, &flag_arg) == FAILURE) {
                                RETURN_FALSE;
                        }
                        convert_to_long_ex(flag_arg);
@@ -2038,17 +2029,15 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
                RETURN_FALSE;
        }
        
-               if (array_init(return_value)==FAILURE) {
-                       RETURN_FALSE;
-               }
+       array_init(return_value);
        
        arr_cnt = 0;
        var = ib_result->out_sqlda->sqlvar;
        for (i = 0; i < ib_result->out_sqlda->sqld; i++, var++) {
                if (((var->sqltype & 1) == 0) || *var->sqlind != -1) {
-                       pval *tmp;
-                       tmp = emalloc(sizeof(pval));
-                       switch(var->sqltype & ~1) {
+                       zval *tmp;
+                       tmp = emalloc(sizeof(zval));
+                       switch (var->sqltype & ~1) {
                                case SQL_VARYING:
                                case SQL_TEXT:
                                case SQL_SHORT:
@@ -2065,7 +2054,7 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
                                case SQL_TYPE_DATE:
                                case SQL_TYPE_TIME:
 #endif
-                                       _php_ibase_var_pval(tmp, var->sqldata, var->sqltype, var->sqllen, var->sqlscale, flag TSRMLS_CC);
+                                       _php_ibase_var_zval(tmp, var->sqldata, var->sqltype, var->sqllen, var->sqlscale, flag TSRMLS_CC);
                                        break;
                                case SQL_BLOB:
                                        if (flag & PHP_IBASE_TEXT) { /* text ? */
@@ -2086,24 +2075,26 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
                                                }
                                                
                                                /* find total length of blob's data */
-                                               for (p = bl_info; *p != isc_info_end && p < bl_info+sizeof(bl_info);) {
+                                               for (p = bl_info; *p != isc_info_end && p < bl_info + sizeof(bl_info);) {
                                                        unsigned short item_len, item = *p++;
 
                                                        item_len = (short) isc_vax_integer(p, 2);
                                                        p += 2;
-                                                       if (item == isc_info_blob_total_length)
+                                                       if (item == isc_info_blob_total_length) {
                                                                max_len = isc_vax_integer(p, item_len);
+                                                       }
                                                        p += item_len;
                                                }
                                                
                                                bl_data = emalloc(max_len+1);
                                                
-                                               for (cur_len = stat = 0; stat == 0 && cur_len < max_len; ) {
+                                               for (cur_len = stat = 0; stat == 0 && cur_len < max_len;) {
                                                        unsigned short seg_len;
                                                        unsigned short max_seg = (unsigned short) (max_len - cur_len > USHRT_MAX ? USHRT_MAX : max_len-cur_len);
+                                                       
                                                        stat = isc_get_segment(IB_STATUS, &bl_handle, &seg_len, max_seg, &bl_data[cur_len]);
                                                        cur_len += seg_len;
-                                                       if (cur_len > max_len) { /* never!*/
+                                                       if (cur_len > max_len) { /* never! */
                                                                efree(bl_data);
                                                                _php_ibase_module_error("PHP module internal error");
                                                                RETURN_FALSE;
@@ -2125,6 +2116,7 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
                                                Z_STRLEN_P(tmp) = cur_len;
                                                Z_STRVAL_P(tmp) = estrndup(bl_data, cur_len);
                                                efree(bl_data);
+
                                        } else { /* blob id only */
                                                ISC_QUAD *bl_qd = (ISC_QUAD ISC_FAR *) var->sqldata;
                                                ibase_blob_handle *ib_blob_id;
@@ -2139,11 +2131,11 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
                                                
                                                Z_TYPE_P(tmp) = IS_STRING;
                                                Z_STRLEN_P(tmp) = sizeof(ibase_blob_handle);
-                                               Z_STRVAL_P(tmp) = estrndup((char *)ib_blob_id, sizeof(ibase_blob_handle));
+                                               Z_STRVAL_P(tmp) = estrndup((char *) ib_blob_id, sizeof(ibase_blob_handle));
                                                efree(ib_blob_id);
                                        }
                                        break;
-                               case SQL_ARRAY:{
+                               case SQL_ARRAY: {
                                        ISC_QUAD ar_qd = *(ISC_QUAD ISC_FAR *) var->sqldata;
                                        ibase_array *ib_array = &ib_result->out_array[arr_cnt];
                                        void *ar_data;
@@ -2151,14 +2143,13 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
                                        
                                        ar_data = emalloc(ib_array->ar_size);
                                        
-                                       if (isc_array_get_slice(IB_STATUS, &ib_result->link, &ib_result->trans,
-                                                                                       &ar_qd, &ib_array->ar_desc, ar_data, &ib_array->ar_size)) {
+                                       if (isc_array_get_slice(IB_STATUS, &ib_result->link, &ib_result->trans, &ar_qd, &ib_array->ar_desc, ar_data, &ib_array->ar_size)) {
                                                _php_ibase_error(TSRMLS_C);
                                                RETURN_FALSE;
                                        }
                                        
-                                       tmp_ptr = ar_data; /* avoid changes in _arr_pval */
-                                       if (_php_ibase_arr_pval(tmp, &tmp_ptr, ib_array, 0, flag TSRMLS_CC) == FAILURE) {
+                                       tmp_ptr = ar_data; /* avoid changes in _arr_zval */
+                                       if (_php_ibase_arr_zval(tmp, &tmp_ptr, ib_array, 0, flag TSRMLS_CC) == FAILURE) {
                                                RETURN_FALSE;
                                        }
                                        efree(ar_data);
@@ -2166,30 +2157,31 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
                                break;
                                default:
                                        break;
-                       } /*switch*/
+                       } /* switch */
+
                        if (fetch_type & FETCH_ROW) {
                                switch (Z_TYPE_P(tmp)) {
-                               case IS_STRING:
-                                       add_index_stringl(return_value, i, Z_STRVAL_P(tmp), Z_STRLEN_P(tmp), 0);
-                                       break;
-                               case IS_LONG:
-                                       add_index_long(return_value, i, Z_LVAL_P(tmp));
-                                       break;
-                               case IS_DOUBLE:
-                                       add_index_double(return_value, i, Z_DVAL_P(tmp));
-                                       break;
+                                       case IS_STRING:
+                                               add_index_stringl(return_value, i, Z_STRVAL_P(tmp), Z_STRLEN_P(tmp), 0);
+                                               break;
+                                       case IS_LONG:
+                                               add_index_long(return_value, i, Z_LVAL_P(tmp));
+                                               break;
+                                       case IS_DOUBLE:
+                                               add_index_double(return_value, i, Z_DVAL_P(tmp));
+                                               break;
                                }
                        } else {
                                switch (Z_TYPE_P(tmp)) {
-                               case IS_STRING:
-                                       add_assoc_stringl(return_value, var->aliasname, Z_STRVAL_P(tmp), Z_STRLEN_P(tmp), 0);
-                                       break;
-                               case IS_LONG:
-                                       add_assoc_long(return_value, var->aliasname, Z_LVAL_P(tmp));
-                                       break;
-                               case IS_DOUBLE:
-                                       add_assoc_double(return_value, var->aliasname, Z_DVAL_P(tmp));
-                                       break;
+                                       case IS_STRING:
+                                               add_assoc_stringl(return_value, var->aliasname, Z_STRVAL_P(tmp), Z_STRLEN_P(tmp), 0);
+                                               break;
+                                       case IS_LONG:
+                                               add_assoc_long(return_value, var->aliasname, Z_LVAL_P(tmp));
+                                               break;
+                                       case IS_DOUBLE:
+                                               add_assoc_double(return_value, var->aliasname, Z_DVAL_P(tmp));
+                                               break;
                                }
                        }
                        efree(tmp);
@@ -2203,7 +2195,7 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
                if ((var->sqltype & ~1) == SQL_ARRAY) {
                        arr_cnt++;
                }
-       } /*for field*/
+       } /* for field */
 }
 /* }}} */
 
@@ -2228,8 +2220,9 @@ PHP_FUNCTION(ibase_fetch_assoc)
 PHP_FUNCTION(ibase_fetch_object)
 {
        _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, FETCH_ARRAY);
+
        if (Z_TYPE_P(return_value) == IS_ARRAY) {
-               object_and_properties_init(return_value, &zend_standard_class_def, Z_ARRVAL_P(return_value));
+               object_and_properties_init(return_value, ZEND_STANDARD_CLASS_DEF_PTR, Z_ARRVAL_P(return_value));
        }
 }
 /* }}} */
@@ -2243,7 +2236,7 @@ PHP_FUNCTION(ibase_free_result)
 
        RESET_ERRMSG;
 
-       if (ZEND_NUM_ARGS()!=1 || zend_get_parameters_ex(1, &result_arg)==FAILURE) {
+       if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &result_arg) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
 
@@ -2288,11 +2281,11 @@ PHP_FUNCTION(ibase_prepare)
        query = Z_STRVAL_PP(query_arg);
 
        /* open default transaction */
-       if (_php_ibase_def_trans(ib_link, trans_n) == FAILURE) {
+       if (_php_ibase_def_trans(ib_link, trans_n TSRMLS_CC) == FAILURE) {
                RETURN_FALSE;
        }
        
-       if (_php_ibase_alloc_query(&ib_query, ib_link->link, ib_link->trans[trans_n],  query, ib_link->dialect) == FAILURE) {
+       if (_php_ibase_alloc_query(&ib_query, ib_link->link, ib_link->trans[trans_n], query, ib_link->dialect TSRMLS_CC) == FAILURE) {
                RETURN_FALSE;
        }
        ib_query->cursor_open = 0;
@@ -2300,7 +2293,6 @@ PHP_FUNCTION(ibase_prepare)
        zend_list_addref(link_id);
 
        ZEND_REGISTER_RESOURCE(return_value, ib_query, le_query);
-
 }
 /* }}} */
 
@@ -2308,7 +2300,7 @@ PHP_FUNCTION(ibase_prepare)
    Execute a previously prepared query */
 PHP_FUNCTION(ibase_execute)
 {
-       pval ***args, **bind_args = NULL;
+       zval ***args, **bind_args = NULL;
        ibase_query *ib_query;
        ibase_result *ib_result;
 
@@ -2318,7 +2310,7 @@ PHP_FUNCTION(ibase_execute)
                WRONG_PARAM_COUNT;
        }
 
-       args = (pval ***)emalloc(ZEND_NUM_ARGS() * sizeof(pval **));
+       args = (zval ***) emalloc(ZEND_NUM_ARGS() * sizeof(zval **));
        if (zend_get_parameters_array_ex(ZEND_NUM_ARGS(), args) == FAILURE) {
                efree(args);
                RETURN_FALSE;
@@ -2333,13 +2325,13 @@ PHP_FUNCTION(ibase_execute)
        /* Have we used this cursor before and it's still open? */
        if (ib_query->cursor_open) {
                IBDEBUG("Implicitly closing a cursor");
-               if (isc_dsql_free_statement(IB_STATUS, &ib_query->stmt, DSQL_close)){
+               if (isc_dsql_free_statement(IB_STATUS, &ib_query->stmt, DSQL_close)) {
                        efree(args);
                        _php_ibase_error(TSRMLS_C);
                }
        }
 
-       if ( _php_ibase_exec(&ib_result, ib_query, ZEND_NUM_ARGS()-1, bind_args) == FAILURE) {
+       if (_php_ibase_exec(&ib_result, ib_query, ZEND_NUM_ARGS() - 1, bind_args TSRMLS_CC) == FAILURE) {
                efree(args);
                RETURN_FALSE;
        }
@@ -2360,7 +2352,7 @@ PHP_FUNCTION(ibase_execute)
    Free memory used by a query */
 PHP_FUNCTION(ibase_free_query)
 {
-       pval **query_arg;
+       zval **query_arg;
        ibase_query *ib_query;
 
        RESET_ERRMSG;
@@ -2380,18 +2372,17 @@ PHP_FUNCTION(ibase_free_query)
    Sets the format of timestamp, date and time columns returned from queries */
 PHP_FUNCTION(ibase_timefmt)
 {
-       pval ***args;
+       zval ***args;
        char *fmt = NULL;
        int type = PHP_IBASE_TIMESTAMP;
        
        RESET_ERRMSG; /* ??? */
 
-
-       if (ZEND_NUM_ARGS() < 1 || ZEND_NUM_ARGS() > 2){
+       if (ZEND_NUM_ARGS() < 1 || ZEND_NUM_ARGS() > 2) {
                WRONG_PARAM_COUNT;
        }
        
-       args = (pval ***) emalloc(sizeof(pval **)*ZEND_NUM_ARGS());
+       args = (zval ***) emalloc(sizeof(zval **) * ZEND_NUM_ARGS());
        if (zend_get_parameters_array_ex(ZEND_NUM_ARGS(), args) == FAILURE) {
                efree(args);
                RETURN_FALSE;
@@ -2408,22 +2399,25 @@ PHP_FUNCTION(ibase_timefmt)
 
        switch (type) {
                case PHP_IBASE_TIMESTAMP:
-                       if (IBG(timestampformat))
+                       if (IBG(timestampformat)) {
                                DL_FREE(IBG(timestampformat));
+                       }
                        IBG(timestampformat) = DL_STRDUP(fmt);
                        break;
                case PHP_IBASE_DATE:
-                       if (IBG(dateformat))
+                       if (IBG(dateformat)) {
                                DL_FREE(IBG(dateformat));
+                       }
                        IBG(dateformat) = DL_STRDUP(fmt);
                        break;
                case PHP_IBASE_TIME:
-                       if (IBG(timeformat))
+                       if (IBG(timeformat)) {
                                DL_FREE(IBG(timeformat));
+                       }
                        IBG(timeformat) = DL_STRDUP(fmt);
                        break;
        }
-    
+
        efree(args);
        RETURN_TRUE;
 }
@@ -2434,7 +2428,7 @@ PHP_FUNCTION(ibase_timefmt)
    Get the number of fields in result */
 PHP_FUNCTION(ibase_num_fields)
 {
-       pval **result;
+       zval **result;
        ibase_result *ib_result;
 
        RESET_ERRMSG;
@@ -2458,7 +2452,7 @@ PHP_FUNCTION(ibase_num_fields)
    Get information about a field */
 PHP_FUNCTION(ibase_field_info)
 {
-       pval *ret_val;
+       zval *ret_val;
        zval **result_arg, **field_arg;
        ibase_result *ib_result;
        char buf[30], *s;
@@ -2480,11 +2474,11 @@ PHP_FUNCTION(ibase_field_info)
 
        convert_to_long_ex(field_arg);
 
-       if (Z_LVAL_PP(field_arg)<0 || Z_LVAL_PP(field_arg)>=ib_result->out_sqlda->sqld)
-               RETURN_FALSE;
-
-       if (array_init(return_value)==FAILURE)
+       if (Z_LVAL_PP(field_arg) < 0 || Z_LVAL_PP(field_arg) >= ib_result->out_sqlda->sqld) {
                RETURN_FALSE;
+       }
+       
+       array_init(return_value);
 
        var = ib_result->out_sqlda->sqlvar + Z_LVAL_PP(field_arg);
 
@@ -2535,9 +2529,8 @@ PHP_FUNCTION(ibase_field_info)
 /* blobs ----------------------------------- */
 
 /* {{{ _php_ibase_blob_info(isc_blob_handle bl_handle, IBASE_BLOBINFO *bl_info) */
-static int _php_ibase_blob_info(isc_blob_handle bl_handle, IBASE_BLOBINFO *bl_info)
+static int _php_ibase_blob_info(isc_blob_handle bl_handle, IBASE_BLOBINFO *bl_info TSRMLS_DC)
 {
-       
        static char bl_items[] = {
                isc_info_blob_num_segments,
                isc_info_blob_max_segment,
@@ -2546,7 +2539,6 @@ static int _php_ibase_blob_info(isc_blob_handle bl_handle, IBASE_BLOBINFO *bl_in
        };
        
        char bl_inf[sizeof(long)*8], *p;
-       TSRMLS_FETCH();
 
        bl_info->max_segment = 0;
        bl_info->num_segments = 0;
@@ -2558,11 +2550,11 @@ static int _php_ibase_blob_info(isc_blob_handle bl_handle, IBASE_BLOBINFO *bl_in
                return FAILURE;
        }
 
-       for (p = bl_inf; *p != isc_info_end && p < bl_inf+sizeof(bl_inf);) {
+       for (p = bl_inf; *p != isc_info_end && p < bl_inf + sizeof(bl_inf);) {
                unsigned short item_len;
                int item = *p++;
 
-               item_len = (short)isc_vax_integer(p, 2);
+               item_len = (short) isc_vax_integer(p, 2);
                p += 2;
                switch (item) {
                        case isc_info_blob_num_segments:
@@ -2583,9 +2575,9 @@ static int _php_ibase_blob_info(isc_blob_handle bl_handle, IBASE_BLOBINFO *bl_in
                        case isc_info_error:  /* hmm. don't think so...*/
                                _php_ibase_module_error("PHP module internal error");
                                return FAILURE;
-               } /*switch*/
+               } /* switch */
                p += item_len;
-       } /*for*/
+       } /* for */
        return SUCCESS;
 }
 /* }}} */
@@ -2618,7 +2610,7 @@ PHP_FUNCTION(ibase_blob_create)
        }
        
        /* open default transaction */
-       if(_php_ibase_def_trans(ib_link, trans_n) == FAILURE){
+       if (_php_ibase_def_trans(ib_link, trans_n TSRMLS_CC) == FAILURE) {
                RETURN_FALSE;
        }
        
@@ -2641,18 +2633,18 @@ PHP_FUNCTION(ibase_blob_create)
    Open blob for retriving data parts */
 PHP_FUNCTION(ibase_blob_open)
 {
-       pval *blob_arg;
+       zval **blob_arg;
        ibase_blob_handle *ib_blob, *ib_blob_id;
 
        RESET_ERRMSG;
 
-       if (ZEND_NUM_ARGS()!=1 || getParameters(ht, 1, &blob_arg)==FAILURE) {
+       if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &blob_arg) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
 
        ib_blob = (ibase_blob_handle *) emalloc(sizeof(ibase_blob_handle));
 
-       GET_BLOB_ID_ARG(blob_arg, ib_blob_id);
+       GET_BLOB_ID_ARG(*blob_arg, ib_blob_id);
 
        if (ib_blob_id == NULL) { /* blob IS NULL or argument unset */
                RETURN_FALSE;
@@ -2677,20 +2669,20 @@ PHP_FUNCTION(ibase_blob_open)
    Add data into created blob */
 PHP_FUNCTION(ibase_blob_add)
 {
-       pval *blob_arg, *string_arg;
+       zval **blob_arg, **string_arg;
        ibase_blob_handle *ib_blob;
 
        RESET_ERRMSG;
 
-       if (ZEND_NUM_ARGS()!=2 || getParameters(ht, 2, &blob_arg, &string_arg)==FAILURE) {
+       if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &blob_arg, &string_arg) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
 
        GET_BLOB_HANDLE_ARG(blob_arg, ib_blob);
        
-       convert_to_string(string_arg);
+       convert_to_string_ex(string_arg);
 
-       if (isc_put_segment(IB_STATUS, &ib_blob->bl_handle, (unsigned short) Z_STRLEN_P(string_arg), Z_STRVAL_P(string_arg))) {
+       if (isc_put_segment(IB_STATUS, &ib_blob->bl_handle, (unsigned short) Z_STRLEN_PP(string_arg), Z_STRVAL_PP(string_arg))) {
                _php_ibase_error(TSRMLS_C);
                RETURN_FALSE;
        }
@@ -2702,7 +2694,7 @@ PHP_FUNCTION(ibase_blob_add)
    Get len bytes data from open blob */
 PHP_FUNCTION(ibase_blob_get)
 {
-       pval *blob_arg, *len_arg;
+       zval **blob_arg, **len_arg;
        int stat;
        char *bl_data;
        unsigned short max_len = 0, cur_len, seg_len;
@@ -2710,20 +2702,20 @@ PHP_FUNCTION(ibase_blob_get)
 
        RESET_ERRMSG;
 
-       if (ZEND_NUM_ARGS() != 2 || getParameters(ht, 2, &blob_arg, &len_arg) == FAILURE) {
+       if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &blob_arg, &len_arg) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
 
-       convert_to_long(len_arg);
-       max_len = (unsigned short) Z_LVAL_P(len_arg);
+       convert_to_long_ex(len_arg);
+       max_len = (unsigned short) Z_LVAL_PP(len_arg);
 
        GET_BLOB_HANDLE_ARG(blob_arg, ib_blob);
 
        if (ib_blob->bl_qd.gds_quad_high || ib_blob->bl_qd.gds_quad_low) { /*not null ?*/
                
-               bl_data = emalloc(max_len+1);
+               bl_data = emalloc(max_len + 1);
 
-               for (cur_len = stat = 0; stat == 0; ) {
+               for (cur_len = stat = 0; stat == 0;) {
                        stat = isc_get_segment(IB_STATUS, &ib_blob->bl_handle, &seg_len, (unsigned short) (max_len-cur_len), &bl_data[cur_len]);
                        cur_len += seg_len;
                        if (cur_len > max_len) { /* never!*/
@@ -2753,12 +2745,12 @@ PHP_FUNCTION(ibase_blob_get)
 /* Close or Cancel created or Close open blob */
 static void _php_ibase_blob_end(INTERNAL_FUNCTION_PARAMETERS, int bl_end)
 {
-       pval *blob_arg;
+       zval **blob_arg;
        ibase_blob_handle *ib_blob;
 
        RESET_ERRMSG;
        
-       if (ZEND_NUM_ARGS()!=1 || getParameters(ht, 1, &blob_arg)==FAILURE) {
+       if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &blob_arg) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
 
@@ -2772,15 +2764,15 @@ static void _php_ibase_blob_end(INTERNAL_FUNCTION_PARAMETERS, int bl_end)
                        }
                }
                ib_blob->bl_handle = NULL;
-               RETVAL_STRINGL((char *)ib_blob, sizeof(ibase_blob_handle), 1);
-               zend_list_delete(Z_LVAL_P(blob_arg));
+               RETVAL_STRINGL((char *) ib_blob, sizeof(ibase_blob_handle), 1);
+               zend_list_delete(Z_LVAL_PP(blob_arg));
        } else { /* discard created blob */
                if (isc_cancel_blob(IB_STATUS, &ib_blob->bl_handle)) {
                        _php_ibase_error(TSRMLS_C);
                        RETURN_FALSE;
                }
                ib_blob->bl_handle = NULL;
-               zend_list_delete(Z_LVAL_P(blob_arg));
+               zend_list_delete(Z_LVAL_PP(blob_arg));
                RETURN_TRUE;
        }
 }
@@ -2806,30 +2798,27 @@ PHP_FUNCTION(ibase_blob_cancel)
    Return blob length and other useful info */
 PHP_FUNCTION(ibase_blob_info)
 {
-       pval *blob_arg, *result_var;
+       zval **blob_arg, **result_var;
        ibase_blob_handle *ib_blob_id;
        IBASE_BLOBINFO bl_info;
 
        RESET_ERRMSG;
 
-       if (ZEND_NUM_ARGS()!=1 || getParameters(ht, 1, &blob_arg)==FAILURE) {
+       if (ZEND_NUM_ARGS() !=1 || zend_get_parameters_ex(1, &blob_arg) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
        
-       GET_BLOB_ID_ARG(blob_arg, ib_blob_id);
+       GET_BLOB_ID_ARG(*blob_arg, ib_blob_id);
 
-       if (array_init(return_value)==FAILURE){
-               RETURN_FALSE;
-       }
+       array_init(return_value);
        
-       if (ib_blob_id->bl_qd.gds_quad_high || ib_blob_id->bl_qd.gds_quad_low) { /*not null ?*/
-               if (isc_open_blob(IB_STATUS, &ib_blob_id->link, &ib_blob_id->trans_handle,
-                                                 &ib_blob_id->bl_handle, &ib_blob_id->bl_qd)) {
+       if (ib_blob_id->bl_qd.gds_quad_high || ib_blob_id->bl_qd.gds_quad_low) { /* not null ? */
+               if (isc_open_blob(IB_STATUS, &ib_blob_id->link, &ib_blob_id->trans_handle, &ib_blob_id->bl_handle, &ib_blob_id->bl_qd)) {
                        _php_ibase_error(TSRMLS_C);
                        RETURN_FALSE;
                }
 
-               if (_php_ibase_blob_info(ib_blob_id->bl_handle, &bl_info)) {
+               if (_php_ibase_blob_info(ib_blob_id->bl_handle, &bl_info TSRMLS_CC)) {
                        RETURN_FALSE;
                }
                if (isc_close_blob(IB_STATUS, &ib_blob_id->bl_handle)) {
@@ -2837,7 +2826,7 @@ PHP_FUNCTION(ibase_blob_info)
                        RETURN_FALSE;
                }
                ib_blob_id->bl_handle = NULL;
-       } else { /* null blob, all values to zero        */
+       } else { /* null blob, all values to zero */
                bl_info.max_segment = 0;
                bl_info.num_segments = 0;
                bl_info.total_length = 0;
@@ -2845,30 +2834,27 @@ PHP_FUNCTION(ibase_blob_info)
        }
 
        /* FIXME */
-       add_get_index_long(return_value, 0, bl_info.total_length, (void **)&result_var);
+       add_get_index_long(return_value, 0, bl_info.total_length, (void **) &result_var);
        /*
        zend_hash_pointer_update(Z_ARRVAL_P(return_value), "length", sizeof("length"), result_var);
        */
 
-       add_get_index_long(return_value, 1, bl_info.num_segments, (void **)&result_var);
+       add_get_index_long(return_value, 1, bl_info.num_segments, (void **) &result_var);
        /*
        zend_hash_pointer_update(Z_ARRVAL_P(return_value), "numseg", sizeof("numseg"), result_var);
        */
 
-       add_get_index_long(return_value, 2, bl_info.max_segment, (void **)&result_var);
+       add_get_index_long(return_value, 2, bl_info.max_segment, (void **) &result_var);
        /*
        zend_hash_pointer_update(Z_ARRVAL_P(return_value), "maxseg", sizeof("maxseg"), result_var);
        */
 
-       add_get_index_long(return_value, 3, bl_info.bl_stream, (void **)&result_var);
+       add_get_index_long(return_value, 3, bl_info.bl_stream, (void **) &result_var);
        /*
        zend_hash_pointer_update(Z_ARRVAL_P(return_value), "stream", sizeof("stream"), result_var);
        */
        
-       add_get_index_long(return_value, 4,
-                                          (!ib_blob_id->bl_qd.gds_quad_high
-                                               && !ib_blob_id->bl_qd.gds_quad_low),
-                                          (void **)&result_var);
+       add_get_index_long(return_value, 4, (!ib_blob_id->bl_qd.gds_quad_high && !ib_blob_id->bl_qd.gds_quad_low), (void **) &result_var);
        /*
        zend_hash_pointer_update(Z_ARRVAL_P(return_value), "isnull", sizeof("isnull"), result_var);
        */
@@ -2879,29 +2865,27 @@ PHP_FUNCTION(ibase_blob_info)
    Output blob contents to browser */
 PHP_FUNCTION(ibase_blob_echo)
 {
-       pval *blob_arg;
+       zval **blob_arg;
        char bl_data[IBASE_BLOB_SEG];
        unsigned short seg_len;
        ibase_blob_handle *ib_blob_id;
 
        RESET_ERRMSG;
 
-       if (ZEND_NUM_ARGS()!=1 || getParameters(ht, 1, &blob_arg)==FAILURE) {
+       if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &blob_arg) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
 
-       GET_BLOB_ID_ARG(blob_arg, ib_blob_id);
+       GET_BLOB_ID_ARG(*blob_arg, ib_blob_id);
        
-       if (ib_blob_id) { /*not null ?*/
+       if (ib_blob_id) { /* not null? */
                
-               if (isc_open_blob(IB_STATUS, &ib_blob_id->link, &ib_blob_id->trans_handle,
-                                                 &ib_blob_id->bl_handle, &ib_blob_id->bl_qd)) {
+               if (isc_open_blob(IB_STATUS, &ib_blob_id->link, &ib_blob_id->trans_handle, &ib_blob_id->bl_handle, &ib_blob_id->bl_qd)) {
                        _php_ibase_error(TSRMLS_C);
                        RETURN_FALSE;
                }
 
-               while (!isc_get_segment(IB_STATUS, &ib_blob_id->bl_handle, &seg_len, sizeof(bl_data), bl_data)
-                          || IB_STATUS[1] == isc_segment) {
+               while (!isc_get_segment(IB_STATUS, &ib_blob_id->bl_handle, &seg_len, sizeof(bl_data), bl_data) || IB_STATUS[1] == isc_segment) {
                        PHPWRITE(bl_data, seg_len);
                }
        
@@ -2921,15 +2905,8 @@ PHP_FUNCTION(ibase_blob_echo)
 }
 /* }}} */
 
-/*
-extern int le_fp, le_pp;
-extern int wsa_fp;
-*/
-/*to handle reading and writing to windows sockets*/
 /* {{{ proto string ibase_blob_import([resource link_identifier, ] int file_id)
    Create blob, copy file in it, and close it */
-
 PHP_FUNCTION(ibase_blob_import)
 {
        zval **link_arg, **file_arg;
@@ -2962,7 +2939,7 @@ PHP_FUNCTION(ibase_blob_import)
        }
        
        /* open default transaction */
-       if (_php_ibase_def_trans(ib_link, trans_n) == FAILURE) {
+       if (_php_ibase_def_trans(ib_link, trans_n TSRMLS_CC) == FAILURE) {
                RETURN_FALSE;
        }
 
@@ -2981,13 +2958,12 @@ PHP_FUNCTION(ibase_blob_import)
 
        size = 0;
 
-       while( (b = php_stream_read(stream, bl_data, sizeof(bl_data)) ) > 0)    {
+       while ((b = php_stream_read(stream, bl_data, sizeof(bl_data))) > 0) {
                if (isc_put_segment(IB_STATUS, &ib_blob.bl_handle, b, bl_data)) {
                        _php_ibase_error(TSRMLS_C);
                        RETURN_FALSE;
                }
                size += b;
-
        }
        
        if (isc_close_blob(IB_STATUS, &ib_blob.bl_handle)) {
@@ -2996,16 +2972,17 @@ PHP_FUNCTION(ibase_blob_import)
        }
 
        ib_blob.bl_handle = NULL;
-       RETVAL_STRINGL((char *)&ib_blob, sizeof(ibase_blob_handle), 1);
+       RETVAL_STRINGL((char *) &ib_blob, sizeof(ibase_blob_handle), 1);
 }
 /* }}} */
+
 #ifdef SQL_DIALECT_V6
 /* {{{ _php_ibase_user() */
 static void _php_ibase_user(INTERNAL_FUNCTION_PARAMETERS, int operation)
 {
-       pval **args[8];
-       char *ib_server, *dba_user_name, *dba_password, *user_name, *user_password = NULL,
-                *first_name = NULL, *middle_name = NULL, *last_name = NULL;
+       zval **args[8];
+       char *ib_server, *dba_user_name, *dba_password, *user_name, *user_password = NULL;
+       char *first_name = NULL, *middle_name = NULL, *last_name = NULL;
        char service_name_buffer[128], *service_name = service_name_buffer;
        char spb_buffer[128], *spb = spb_buffer;
        unsigned short spb_length;
@@ -3014,57 +2991,57 @@ static void _php_ibase_user(INTERNAL_FUNCTION_PARAMETERS, int operation)
        RESET_ERRMSG;
 
        switch (operation) {
-       case isc_action_svc_add_user:
-       case isc_action_svc_modify_user:
-               /* 5 to 8 parameters for ADD or MODIFY operation */
-               if(ZEND_NUM_ARGS() < 5 || ZEND_NUM_ARGS() > 8) {
-                       WRONG_PARAM_COUNT;
-               }
-               break;
+               case isc_action_svc_add_user:
+               case isc_action_svc_modify_user:
+                       /* 5 to 8 parameters for ADD or MODIFY operation */
+                       if (ZEND_NUM_ARGS() < 5 || ZEND_NUM_ARGS() > 8) {
+                               WRONG_PARAM_COUNT;
+                       }
+                       break;
        
-       case isc_action_svc_delete_user:
-               /* 4 parameters for DELETE operation */
-               if (ZEND_NUM_ARGS() != 4) {
-                       WRONG_PARAM_COUNT;
-               }
+               case isc_action_svc_delete_user:
+                       /* 4 parameters for DELETE operation */
+                       if (ZEND_NUM_ARGS() != 4) {
+                               WRONG_PARAM_COUNT;
+                       }
        }
-       
+
        if (zend_get_parameters_array_ex(ZEND_NUM_ARGS(), args) == FAILURE) {
                RETURN_FALSE;
        }
 
-       switch(ZEND_NUM_ARGS()) {
+       switch (ZEND_NUM_ARGS()) {
                case 8:
                        convert_to_string_ex(args[7]);
-                       last_name = (*args[7])->value.str.val;
+                       last_name = Z_STRVAL_PP(args[7]);
                        /* fallout */
                case 7:
                        convert_to_string_ex(args[6]);
-                       middle_name = (*args[6])->value.str.val;
+                       middle_name = Z_STRVAL_PP(args[6]);
                        /* fallout */
                case 6:
                        convert_to_string_ex(args[5]);
-                       first_name = (*args[5])->value.str.val;
+                       first_name = Z_STRVAL_PP(args[5]);
                        /* fallout */
        }
 
        if (operation != isc_action_svc_delete_user) {
                /* Parameter not available for DELETE operation */
                convert_to_string_ex(args[4]);
-               user_password = (*args[4])->value.str.val;
+               user_password = Z_STRVAL_PP(args[4]);
        }
 
        convert_to_string_ex(args[3]);
-       user_name = (*args[3])->value.str.val;
+       user_name = Z_STRVAL_PP(args[3]);
 
        convert_to_string_ex(args[2]);
-       dba_password = (*args[2])->value.str.val;
+       dba_password = Z_STRVAL_PP(args[2]);
 
        convert_to_string_ex(args[1]);
-       dba_user_name = (*args[1])->value.str.val;
+       dba_user_name = Z_STRVAL_PP(args[1]);
 
        convert_to_string_ex(args[0]);
-       ib_server = (*args[0])->value.str.val;
+       ib_server = Z_STRVAL_PP(args[0]);
 
 /*
        zend_printf("server   : %s<br>", ib_server);
@@ -3092,13 +3069,10 @@ static void _php_ibase_user(INTERNAL_FUNCTION_PARAMETERS, int operation)
 
        /* Attach to the Service Manager */
        sprintf(service_name, "%s:service_mgr", ib_server);
-       if (isc_service_attach(IB_STATUS, 0, service_name,
-               &service_handle, spb_length, spb_buffer)) {
-
+       if (isc_service_attach(IB_STATUS, 0, service_name, &service_handle, spb_length, spb_buffer)) {
                _php_ibase_error(TSRMLS_C);
                RETURN_FALSE;
-       }
-       else {
+       } else {
                char request[128], *x, *p = request;
 
                /* Identify cluster (here, isc_action_svc_*_user) */
@@ -3107,50 +3081,46 @@ static void _php_ibase_user(INTERNAL_FUNCTION_PARAMETERS, int operation)
                /* Argument for username */
                *p++ = isc_spb_sec_username;
                ADD_SPB_LENGTH(p, strlen(user_name));
-               for (x = user_name ; *x; ) *p++ = *x++;
+               for (x = user_name ; *x;) *p++ = *x++;
 
                /* Argument for password */
                if (user_password) {
                        *p++ = isc_spb_sec_password;
                        ADD_SPB_LENGTH(p, strlen(user_password));
-                       for (x = user_password ; *x; ) *p++ = *x++;
+                       for (x = user_password ; *x;) *p++ = *x++;
                }
 
                /* Argument for first name */
                if (first_name) {
                        *p++ = isc_spb_sec_firstname;
                        ADD_SPB_LENGTH(p, strlen(first_name));
-                       for (x = first_name ; *x; ) *p++ = *x++;
+                       for (x = first_name ; *x;) *p++ = *x++;
                }
 
                /* Argument for middle name */
                if (middle_name) {
                        *p++ = isc_spb_sec_middlename;
                        ADD_SPB_LENGTH(p, strlen(middle_name));
-                       for (x = middle_name ; *x; ) *p++ = *x++;
+                       for (x = middle_name ; *x;) *p++ = *x++;
                }
 
                /* Argument for last name */
                if (last_name) {
                        *p++ = isc_spb_sec_lastname;
                        ADD_SPB_LENGTH(p, strlen(last_name));
-                       for (x = last_name ; *x; ) *p++ = *x++;
+                       for (x = last_name ; *x;) *p++ = *x++;
                }
 
                /* Let's go update: start Service Manager */
-               if (isc_service_start(IB_STATUS, &service_handle,
-                       NULL, (unsigned short) (p - request), request)) {
-
+               if (isc_service_start(IB_STATUS, &service_handle, NULL, (unsigned short) (p - request), request)) {
                        _php_ibase_error(TSRMLS_C);
                        isc_service_detach(IB_STATUS, &service_handle);
                        RETURN_FALSE;
-               }
-               else {
+               } else {
                        /* Detach from Service Manager */
                        isc_service_detach(IB_STATUS, &service_handle);
                }
        }
-
        
        RETURN_TRUE;
 }
@@ -3179,7 +3149,6 @@ PHP_FUNCTION(ibase_delete_user)
        _php_ibase_user(INTERNAL_FUNCTION_PARAM_PASSTHRU, isc_action_svc_delete_user);
 }
 /* }}} */
-  
 #endif /* SQL_DIALECT_V6 */
 
 #endif /* HAVE_IBASE */
index 8dfbedd1f4df6abe92290eb1ef8a25976b8613d5..c7a49ae779e31d9a455626e11c4e10d44bb736c5 100644 (file)
@@ -40,7 +40,6 @@ extern zend_module_entry ibase_module_entry;
 #endif
 #endif
 
-
 PHP_MINIT_FUNCTION(ibase);
 PHP_RINIT_FUNCTION(ibase);
 PHP_MSHUTDOWN_FUNCTION(ibase);
index 94b65213220213cfa68184b1efe69800f9d210e5..988b7536ed6c5a4a5bfda4c18983f2c9f2c5e781 100644 (file)
@@ -108,8 +108,8 @@ three transaction on default link
     
        $tr_1 = ibase_trans();  /* this default transaction also */
        $tr_2 = ibase_trans(IBASE_READ);
-       $tr_3 = ibase_trans(IBASE_READ+IBASE_COMMITTED+ IBASE_REC_VERSION+ IBASE_WAIT );    
-       $tr_4 = ibase_trans(IBASE_READ+IBASE_COMMITTED+ IBASE_REC_NO_VERSION + IBASE_NOWAIT);   
+       $tr_3 = ibase_trans(IBASE_READ+IBASE_COMMITTED+IBASE_REC_VERSION+IBASE_WAIT);    
+       $tr_4 = ibase_trans(IBASE_READ+IBASE_COMMITTED+IBASE_REC_NO_VERSION+IBASE_NOWAIT);      
     
        $res = ibase_query("select * from test5");
     
@@ -141,7 +141,7 @@ three transaction on default link
     ibase_commit($tr_1);
 
        $tr_1 = ibase_trans();
-  ibase_query($tr_1, "insert into test5 (i) values (5)");
+        ibase_query($tr_1, "insert into test5 (i) values (5)");
        
        /* tr_2 is IBASE_READ + IBASE_CONCURRENCY + IBASE_WAIT */
        $res = ibase_query($tr_2, "select * from test5");