]> granicus.if.org Git - php/commitdiff
WS & CS fixes + some TSRM_FETCH() removals + pval -> zval
authorfoobar <sniper@php.net>
Sun, 16 Mar 2003 05:00:50 +0000 (05:00 +0000)
committerfoobar <sniper@php.net>
Sun, 16 Mar 2003 05:00:50 +0000 (05:00 +0000)
ext/interbase/interbase.c

index e9036178ddd775e243d39b597c4583ff2bc654ca..bedfdf510b561bfbf5ae37cc9880acdc6f8cf032 100644 (file)
@@ -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,10 +216,9 @@ 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; \
@@ -237,7 +230,8 @@ typedef struct {
        } \
 }
 
-/* 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_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;
@@ -300,8 +297,8 @@ static void _php_ibase_module_error(char *msg, ...)
 
 /* destructors ---------------------- */
 
-/* {{{ _php_ibase_free_xsqlda() */
-/* not actual destructor ... */
+/* {{{ _php_ibase_free_xsqlda() (not actual destructor)
+ */
 static void _php_ibase_free_xsqlda(XSQLDA *sqlda)
 {
        int i;
@@ -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,17 +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() */
+/* {{{ _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)--;
@@ -367,12 +366,13 @@ static void _php_ibase_close_link(zend_rsrc_list_entry *rsrc TSRMLS_DC)
 }
 /* }}} */
 
-/* {{{ _php_ibase_close_plink() */
+/* {{{ _php_ibase_close_plink()
+ */
 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)--;
@@ -381,20 +381,21 @@ static void _php_ibase_close_plink(zend_rsrc_list_entry *rsrc TSRMLS_DC)
 }
 /* }}} */
 
-/* {{{ _php_ibase_free_result() */
+/* {{{ _php_ibase_free_result()
+ */
 static void _php_ibase_free_result(zend_rsrc_list_entry *rsrc TSRMLS_DC)
 {
        char tr_items[] = {isc_info_tra_id };
        char tmp[32]; /* should be enough as on the Api doc */
 
-       ibase_result *ib_result = (ibase_result *)rsrc->ptr;
+       ibase_result *ib_result = (ibase_result *) rsrc->ptr;
 
        IBDEBUG("Freeing result...");
-       if (ib_result){
+       if (ib_result) {
                _php_ibase_free_xsqlda(ib_result->out_sqlda);
-               isc_transaction_info(IB_STATUS, &ib_result->trans,sizeof(tr_items), tr_items, sizeof(tmp), tmp );
+               isc_transaction_info(IB_STATUS, &ib_result->trans,sizeof(tr_items), tr_items, sizeof(tmp), tmp);
                /* we have a transaction still open and we really want to drop the statement ? */
-               if ( !(IB_STATUS[0] && IB_STATUS[1])  && ib_result->drop_stmt && ib_result->stmt ) {
+               if (!(IB_STATUS[0] && IB_STATUS[1]) && ib_result->drop_stmt && ib_result->stmt) {
                        IBDEBUG("Dropping statement handle (free_result)...");
                        if (isc_dsql_free_statement(IB_STATUS, &ib_result->stmt, DSQL_drop)) {
                                _php_ibase_error(TSRMLS_C);
@@ -420,11 +421,10 @@ 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)
 {
        char tr_items[] = {isc_info_tra_id };
        char tmp[32] ; /* ...should be enough as on the Api doc */
-       TSRMLS_FETCH();
 
        IBDEBUG("Freeing query...");
        if (ib_query) {
@@ -434,11 +434,11 @@ static void _php_ibase_free_query(ibase_query *ib_query)
                if (ib_query->out_sqlda) {
                        efree(ib_query->out_sqlda);
                }
-               isc_transaction_info(IB_STATUS, &ib_query->trans,sizeof(tr_items), tr_items, sizeof(tmp), tmp );
+               isc_transaction_info(IB_STATUS, &ib_query->trans,sizeof(tr_items), tr_items, sizeof(tmp), tmp);
                /* we have the trans still open and a statement to drop? */
-               if ( !(IB_STATUS[0] && IB_STATUS[1])  &&  ib_query->stmt) {
+               if (!(IB_STATUS[0] && IB_STATUS[1]) && 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);
                        }
                }
@@ -457,7 +457,7 @@ static void php_ibase_free_query_rsrc(zend_rsrc_list_entry *rsrc TSRMLS_DC)
 {
        ibase_query *query = (ibase_query *)rsrc->ptr;
 
-       _php_ibase_free_query(query);
+       _php_ibase_free_query(query TSRMLS_CC);
 }
 
 /* {{{ _php_ibase_free_blob()  */
@@ -483,7 +483,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) {
@@ -502,14 +502,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, 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)
+       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)
@@ -548,103 +548,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;
 
@@ -703,7 +706,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;
@@ -718,17 +721,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]);
@@ -767,14 +770,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... */ 
 
@@ -807,7 +810,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;
                        }
@@ -815,13 +818,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;
@@ -840,7 +845,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) {
@@ -848,7 +853,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;
@@ -856,7 +861,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))) {
@@ -868,7 +873,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;
                }
@@ -876,15 +881,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;
                }
@@ -896,7 +903,7 @@ static void _php_ibase_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
 }
 /* }}} */
 
-/* {{{ proto int ibase_connect(string database [, string username] [, string password] [, string charset] [, int buffers] [, int dialect] [, string role])
+/* {{{ proto int ibase_connect(string database [, string username [, string password [, string charset [, int buffers [, int dialect [, string role]]]]]])
    Open a connection to an InterBase database */
 PHP_FUNCTION(ibase_connect)
 {
@@ -904,7 +911,7 @@ PHP_FUNCTION(ibase_connect)
 }
 /* }}} */
 
-/* {{{ proto int ibase_pconnect(string database [, string username] [, string password] [, string charset] [, int buffers] [, int dialect] [, string role])
+/* {{{ proto int ibase_pconnect(string database [, string username [, string password [, string charset [, int buffers [, int dialect [, string role]]]]]])
    Open a persistent connection to an InterBase database */
 PHP_FUNCTION(ibase_pconnect)
 {
@@ -945,37 +952,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;
@@ -986,7 +990,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;
@@ -1012,11 +1016,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;
@@ -1024,8 +1027,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;
                                
@@ -1042,10 +1044,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;
@@ -1105,13 +1106,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;
        }
 
@@ -1130,12 +1129,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;
        
@@ -1146,17 +1148,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) {
@@ -1165,14 +1167,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;
@@ -1182,8 +1186,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) {
@@ -1193,22 +1197,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:
@@ -1218,7 +1222,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;
@@ -1237,21 +1241,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
                                /*
@@ -1262,7 +1265,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
@@ -1274,23 +1277,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
@@ -1300,11 +1303,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;
@@ -1325,15 +1326,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;
@@ -1341,8 +1342,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;
 }
 /* }}} */
@@ -1352,15 +1354,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));
@@ -1396,23 +1397,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;
        
@@ -1430,8 +1432,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;
                }
@@ -1446,7 +1448,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;
                }
@@ -1462,7 +1464,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)
@@ -1473,8 +1475,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;
@@ -1486,7 +1489,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;
@@ -1504,7 +1507,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;
@@ -1528,33 +1531,34 @@ PHP_FUNCTION(ibase_trans)
                ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, NULL, link_id, "InterBase link", le_link, le_plink);
        }
 
-       if (trans_argl ) {
+       if (trans_argl) {
                tpb[tpb_len++] = isc_tpb_version3;
                tpbp = tpb;
                /* access mode */
-               if (trans_argl & PHP_IBASE_READ) /* READ ONLY TRANSACTION */
+               if (trans_argl & PHP_IBASE_READ) /* READ ONLY TRANSACTION */
                        tpb[tpb_len++] = isc_tpb_read;
-               else
+               } else {
                        tpb[tpb_len++] = isc_tpb_write;
+               }
                /* isolation level */
                if (trans_argl & PHP_IBASE_COMMITTED) {
                        tpb[tpb_len++] = isc_tpb_read_committed;
-               } else if (trans_argl & PHP_IBASE_CONSISTENCY)
+               } else if (trans_argl & PHP_IBASE_CONSISTENCY) {
                        tpb[tpb_len++] = isc_tpb_consistency;
-               else 
+               } else {
                        tpb[tpb_len++] = isc_tpb_concurrency;
+               }
+               
                /* lock resolution */
-               if (trans_argl & PHP_IBASE_NOWAIT)
+               if (trans_argl & PHP_IBASE_NOWAIT) {
                        tpb[tpb_len++] = isc_tpb_nowait;
-               else 
+               } else {
                        tpb[tpb_len++] = isc_tpb_wait;
-
+               }
        }
 
        /* 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;
@@ -1574,10 +1578,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;
@@ -1598,7 +1600,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;
 
@@ -1652,7 +1654,7 @@ static void _php_ibase_trans_end(INTERNAL_FUNCTION_PARAMETERS, int commit)
 }
 /* }}} */
 
-/* {{{ proto int ibase_commit([int link_identifier, ] int trans_number)
+/* {{{ proto int ibase_commit([int link_identifier [, int trans_number]])
    Commit transaction */
 PHP_FUNCTION(ibase_commit)
 {
@@ -1660,7 +1662,7 @@ PHP_FUNCTION(ibase_commit)
 }
 /* }}} */
 
-/* {{{ proto int ibase_rollback([int link_identifier, ] int trans_number)
+/* {{{ proto int ibase_rollback([int link_identifier [, int trans_number]])
    Roolback transaction */
 PHP_FUNCTION(ibase_rollback)
 {
@@ -1668,11 +1670,11 @@ PHP_FUNCTION(ibase_rollback)
 }
 /* }}} */
 
-/* {{{ proto int ibase_query([int link_identifier, ] string query [, int bind_args])
+/* {{{ proto int ibase_query([int link_identifier [, string query [, int bind_args]]])
    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;
@@ -1685,7 +1687,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;
@@ -1719,18 +1721,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;
        }
@@ -1740,39 +1742,39 @@ 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:
                        if (scale) {
                                int j, f = 1;
-                               float n = (float) *(long *)(data);
+                               float n = (float) *(long *) (data);
                                
                                for (j = 0; j < -scale; j++) {
                                        f *= 10;
@@ -1782,49 +1784,45 @@ static int _php_ibase_var_pval(pval *val, void *data, int type, int len, int sca
                                Z_STRVAL_P(val) = estrdup(string_data);
                        } else {
                                Z_TYPE_P(val) = IS_LONG;
-                               Z_LVAL_P(val) = *(long *)(data);
+                               Z_LVAL_P(val) = *(long *) (data);
                        }
                        break;
                case SQL_SHORT:
                        Z_TYPE_P(val) = IS_LONG;
-                       Z_LVAL_P(val) = *(short *)(data);
+                       Z_LVAL_P(val) = *(short *) (data);
                        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);
-                               /*
-                               Z_STRVAL_P(val) = 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
                case SQL_INT64:
-                       val->type = IS_STRING;
+                       Z_TYPE_P(val) = IS_STRING;
 
                        if (scale) {
                                int j, f = 1;
-                               double number = (double) ((ISC_INT64) (*((ISC_INT64 *)data)));
+                               double number = (double) ((ISC_INT64) (*((ISC_INT64 *) data)));
                                char dt[20];
                                for (j = 0; j < -scale; j++) {
                                        f *= 10;
                                }
                                sprintf(dt, "%%0.%df", -scale);
-                               val->value.str.len = sprintf (string_data, dt, number/f );
+                               Z_STRLEN_P(val) = sprintf (string_data, dt, number / f);
                        } else {
-                               val->value.str.len = sprintf (string_data, "%.0f",
-                                                               (double)(ISC_INT64) (*((ISC_INT64 *)data)));
+                               Z_STRLEN_P(val) = sprintf (string_data, "%.0f", (double) (ISC_INT64) (*((ISC_INT64 *) data)));
                        }
 
-                       val->value.str.val = estrdup(string_data);
+                       Z_STRVAL_P(val) = estrdup(string_data);
                        break;
 #endif
 #ifndef SQL_TIMESTAMP
@@ -1876,16 +1874,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;
                        }
                }
@@ -1896,14 +1891,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");
@@ -1917,25 +1912,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;
                }
        }
@@ -1958,14 +1952,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);
@@ -1992,15 +1986,15 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
                RETURN_FALSE;
        }
        
-               array_init(return_value);
+       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:
@@ -2017,7 +2011,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 ? */
@@ -2038,24 +2032,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;
@@ -2077,6 +2073,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;
@@ -2091,11 +2088,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;
@@ -2103,14 +2100,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);
@@ -2118,30 +2114,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);
@@ -2155,7 +2152,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 */
 }
 /* }}} */
 
@@ -2180,6 +2177,7 @@ 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_PTR, Z_ARRVAL_P(return_value));
        }
@@ -2195,7 +2193,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;
        }
 
@@ -2240,11 +2238,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;
@@ -2252,7 +2250,6 @@ PHP_FUNCTION(ibase_prepare)
        zend_list_addref(link_id);
 
        ZEND_REGISTER_RESOURCE(return_value, ib_query, le_query);
-
 }
 /* }}} */
 
@@ -2260,7 +2257,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;
 
@@ -2270,7 +2267,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;
@@ -2285,13 +2282,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;
        }
@@ -2312,7 +2309,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;
@@ -2332,18 +2329,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;
@@ -2360,22 +2356,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;
 }
@@ -2386,7 +2385,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;
@@ -2410,7 +2409,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;
@@ -2432,9 +2431,10 @@ 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)
+       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);
@@ -2486,9 +2486,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,
@@ -2497,7 +2496,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;
@@ -2509,11 +2507,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:
@@ -2534,9 +2532,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;
 }
 /* }}} */
@@ -2569,7 +2567,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;
        }
        
@@ -2597,7 +2595,7 @@ PHP_FUNCTION(ibase_blob_open)
 
        RESET_ERRMSG;
 
-       if (ZEND_NUM_ARGS() !=1 || zend_get_parameters_ex(1, &blob_arg) == FAILURE) {
+       if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &blob_arg) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
 
@@ -2633,7 +2631,7 @@ PHP_FUNCTION(ibase_blob_add)
 
        RESET_ERRMSG;
 
-       if (ZEND_NUM_ARGS() !=2 || zend_get_parameters_ex(2, &blob_arg, &string_arg) == FAILURE) {
+       if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &blob_arg, &string_arg) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
 
@@ -2672,9 +2670,9 @@ PHP_FUNCTION(ibase_blob_get)
 
        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!*/
@@ -2709,7 +2707,7 @@ static void _php_ibase_blob_end(INTERNAL_FUNCTION_PARAMETERS, int bl_end)
 
        RESET_ERRMSG;
        
-       if (ZEND_NUM_ARGS()!=1 || zend_get_parameters_ex(1, &blob_arg) == FAILURE) {
+       if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &blob_arg) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
 
@@ -2723,7 +2721,7 @@ 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);
+               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)) {
@@ -2771,9 +2769,8 @@ PHP_FUNCTION(ibase_blob_info)
 
        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;
                }
@@ -2786,7 +2783,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;
@@ -2794,30 +2791,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);
        */
@@ -2835,22 +2829,20 @@ PHP_FUNCTION(ibase_blob_echo)
 
        RESET_ERRMSG;
 
-       if (ZEND_NUM_ARGS() !=1 || zend_get_parameters_ex(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);
        
-       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);
                }
        
@@ -2870,15 +2862,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([link_identifier, ] int file_id)
    Create blob, copy file in it, and close it */
-
 PHP_FUNCTION(ibase_blob_import)
 {
        zval **link_arg, **file_arg;
@@ -2911,7 +2896,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;
        }
 
@@ -2930,13 +2915,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)) {
@@ -2945,16 +2929,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;
@@ -2963,57 +2948,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);
@@ -3041,13 +3026,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) */
@@ -3056,56 +3038,52 @@ 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;
 }
 /* }}} */
 
-/* {{{ proto int ibase_add_user(string server, string dba_user_name, string dba_password, string user_name, string password [, string first_name] [, string middle_name] [, string last_name])
+/* {{{ proto int ibase_add_user(string server, string dba_user_name, string dba_password, string user_name, string password [, string first_name [, string middle_name [, string last_name]]])
    Add an user to security database (only for IB6 or later) */
 PHP_FUNCTION(ibase_add_user)
 {
@@ -3113,7 +3091,7 @@ PHP_FUNCTION(ibase_add_user)
 }
 /* }}} */
 
-/* {{{ proto int ibase_modify_user(string server, string dba_user_name, string dba_password, string user_name, string password [, string first_name] [, string middle_name] [, string last_name])
+/* {{{ proto int ibase_modify_user(string server, string dba_user_name, string dba_password, string user_name, string password [, string first_name [, string middle_name [, string last_name]]])
    Modify an user in security database (only for IB6 or later) */
 PHP_FUNCTION(ibase_modify_user)
 {
@@ -3128,7 +3106,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 */