cvs: php4 /ext/interbase interbase.c php_interbase.h

From: Date: Thu, 05 Oct 2000 12:47:40 +0000
Subject: cvs: php4 /ext/interbase interbase.c php_interbase.h
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-1938@lists.php.net to get a copy of this message
jah Thu Oct 5 05:47:40 2000 EDT Modified files: /php4/ext/interbase interbase.c php_interbase.h Log: - List entry types should be true globals. Index: php4/ext/interbase/interbase.c diff -u php4/ext/interbase/interbase.c:1.43 php4/ext/interbase/interbase.c:1.44 --- php4/ext/interbase/interbase.c:1.43 Mon Jul 17 13:51:47 2000 +++ php4/ext/interbase/interbase.c Thu Oct 5 05:47:39 2000 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: interbase.c,v 1.43 2000/07/17 20:51:47 zeev Exp $ */ +/* $Id: interbase.c,v 1.44 2000/10/05 12:47:39 jah Exp $ */ /* TODO: Arrays, roles? @@ -123,6 +123,9 @@ #endif +/* True globals, no need for thread safety */ +static int le_blob, le_link, le_plink, le_result, le_query, le_trans; + ZEND_DECLARE_MODULE_GLOBALS(ibase) /* }}} */ @@ -143,19 +146,19 @@ IBDEBUG("Transaction or database link?"); if ((resource = zend_list_find(Z_LVAL_PP(link_id), &type))) { IBDEBUG("Found in list"); - if (type == IBG(le_trans)) { + if (type == le_trans) { /* Transaction resource. Fetch it, database link resource is stored in ib_trans->link_rsrc. */ IBDEBUG("Type is le_trans"); *trans_id = (Z_LVAL_PP(link_id)); - ZEND_FETCH_RESOURCE(ib_trans, ibase_tr_link *, link_id, -1, "InterBase transaction", IBG(le_trans)); + ZEND_FETCH_RESOURCE(ib_trans, ibase_tr_link *, link_id, -1, "InterBase transaction", le_trans); *trans_n = ib_trans->trans_num; - ZEND_FETCH_RESOURCE2(resource, ibase_db_link *, link_id, ib_trans->link_rsrc, "InterBase link", IBG(le_link), IBG(le_plink)); + ZEND_FETCH_RESOURCE2(resource, ibase_db_link *, link_id, ib_trans->link_rsrc, "InterBase link", le_link, le_plink); } else { IBDEBUG("Type is le_[p]link"); /* Database link resource, use default transaction (=0). */ *trans_n = 0; - ZEND_FETCH_RESOURCE2(resource, ibase_db_link *, link_id, -1, "InterBase link", IBG(le_link), IBG(le_plink)); + ZEND_FETCH_RESOURCE2(resource, ibase_db_link *, link_id, -1, "InterBase link", le_link, le_plink); } } *ib_link = resource; @@ -209,7 +212,7 @@ int type; \ convert_to_long(blob_arg); \ blob_ptr = (ibase_blob_handle *) zend_list_find(blob_arg->value.lval, &type); \ - if (type!=IBG(le_blob)) { \ + if (type!=le_blob) { \ _php_ibase_module_error("%d is not blob handle",blob_arg->value.lval); \ RETURN_FALSE; \ } \ @@ -445,7 +448,7 @@ ibase_db_link *ib_link; IBLS_FETCH(); - ib_link = (ibase_db_link *) zend_fetch_resource(NULL, ib_trans->link_rsrc, "InterBase link", NULL, 2, IBG(le_link), IBG(le_plink)); + ib_link = (ibase_db_link *) zend_fetch_resource(NULL, ib_trans->link_rsrc, "InterBase link", NULL, 2, le_link, le_plink); if (ib_link) { if (ib_link->trans[ib_trans->trans_num] != NULL) { @@ -491,12 +494,12 @@ REGISTER_INI_ENTRIES(); - IBG(le_result) = register_list_destructors(_php_ibase_free_result, NULL); - IBG(le_query) = register_list_destructors(_php_ibase_free_query, NULL); - IBG(le_blob) = register_list_destructors(_php_ibase_free_blob, NULL); - IBG(le_link) = register_list_destructors(_php_ibase_close_link, NULL); - IBG(le_plink) = register_list_destructors(_php_ibase_commit_link, _php_ibase_close_plink); - IBG(le_trans) = register_list_destructors(_php_ibase_free_trans, NULL); + le_result = register_list_destructors(_php_ibase_free_result, NULL); + le_query = register_list_destructors(_php_ibase_free_query, NULL); + le_blob = register_list_destructors(_php_ibase_free_blob, NULL); + le_link = register_list_destructors(_php_ibase_close_link, NULL); + le_plink = register_list_destructors(_php_ibase_commit_link, _php_ibase_close_plink); + le_trans = register_list_destructors(_php_ibase_free_trans, NULL); REGISTER_LONG_CONSTANT("IBASE_DEFAULT", PHP_IBASE_DEFAULT, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("IBASE_TEXT", PHP_IBASE_TEXT, CONST_PERSISTENT); @@ -578,7 +581,7 @@ php_info_print_table_start(); php_info_print_table_row(2, "Interbase Support", "enabled"); - php_info_print_table_row(2, "Revision", "$Revision: 1.43 $"); + php_info_print_table_row(2, "Revision", "$Revision: 1.44 $"); #ifdef COMPILE_DL_INTERBASE php_info_print_table_row(2, "Dynamic Module", "yes"); #endif @@ -751,7 +754,7 @@ char tmp_1[] = {isc_info_base_level, isc_info_end}; char tmp_2[8]; /* Enough? Hope so... */ - if (le->type != IBG(le_plink)) { + if (le->type != le_plink) { RETURN_FALSE; } /* Check if connection has timed out */ @@ -792,7 +795,7 @@ ib_link->trans[i] = NULL; /* hash it up */ - new_le.type = IBG(le_plink); + new_le.type = 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) { efree(hashed_details); @@ -803,7 +806,7 @@ IBG(num_persistent)++; } - ZEND_REGISTER_RESOURCE(return_value, ib_link, IBG(le_plink)); + ZEND_REGISTER_RESOURCE(return_value, ib_link, le_plink); } else { list_entry *index_ptr, new_index_ptr; @@ -821,7 +824,7 @@ } xlink = (int) index_ptr->ptr; ptr = zend_list_find(xlink, &type); /* check if the xlink is still there */ - if (ptr && (type==IBG(le_link) || type==IBG(le_plink))) { + if (ptr && (type==le_link || type==le_plink)) { zend_list_addref(xlink); return_value->value.lval = xlink; return_value->type = IS_RESOURCE; @@ -852,7 +855,7 @@ for (i = 0; i < IBASE_TRANS_ON_LINK; i++) ib_link->trans[i] = NULL; - ZEND_REGISTER_RESOURCE(return_value, ib_link, IBG(le_link)); + ZEND_REGISTER_RESOURCE(return_value, ib_link, le_link); /* add it to the hash */ new_index_ptr.ptr = (void *) return_value->value.lval; @@ -915,7 +918,7 @@ break; } - ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, link_arg, link_id, "InterBase link", IBG(le_link), IBG(le_plink)); + ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, link_arg, link_id, "InterBase link", le_link, le_plink); zend_list_delete(link_id); RETURN_TRUE; } @@ -1460,7 +1463,7 @@ /* Handle all database links, although we don't support multibase transactions yet, so only the last one is will be used. */ for (i = argn-1; i > 0 && Z_TYPE_PP(args[i]) == IS_RESOURCE; i--) { - ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, args[i], -1, "InterBase link", IBG(le_link), IBG(le_plink)); + ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, args[i], -1, "InterBase link", le_link, le_plink); link_id = Z_LVAL_PP(args[i]); } @@ -1472,7 +1475,7 @@ } if (argn < 2) { - ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, NULL, link_id, "InterBase link", IBG(le_link), IBG(le_plink)); + ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, NULL, link_id, "InterBase link", le_link, le_plink); } if (trans_argl ) { @@ -1515,7 +1518,7 @@ ib_trans = (ibase_tr_link *) emalloc(sizeof(ibase_tr_link)); ib_trans->trans_num = trans_n; ib_trans->link_rsrc = link_id; - ZEND_REGISTER_RESOURCE(return_value, ib_trans, IBG(le_trans)); + ZEND_REGISTER_RESOURCE(return_value, ib_trans, le_trans); } /* }}} */ @@ -1552,7 +1555,7 @@ switch (ZEND_NUM_ARGS()) { case 0: link_id = IBG(default_link); - ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, link_trans_arg, link_id, "InterBase link", IBG(le_link), IBG(le_plink)); + ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, link_trans_arg, link_id, "InterBase link", le_link, le_plink); break; case 1: if (zend_get_parameters_ex(1, &link_trans_arg) == FAILURE) { @@ -1641,7 +1644,7 @@ i++; /* next arg */ } else { link_id = IBG(default_link); - ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, dummy, link_id, "InterBase link", IBG(le_link), IBG(le_plink)); + ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, dummy, link_id, "InterBase link", le_link, le_plink); } if ((*args[i])->type == IS_STRING) { /* query argument */ @@ -1685,7 +1688,7 @@ 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); - ZEND_REGISTER_RESOURCE(return_value, ib_result, IBG(le_result)); + ZEND_REGISTER_RESOURCE(return_value, ib_result, le_result); } else { _php_ibase_free_query(ib_query); RETURN_TRUE; @@ -1916,7 +1919,7 @@ break; } - ZEND_FETCH_RESOURCE(ib_result, ibase_result *, result_arg, -1, "InterBase result", IBG(le_result)); + ZEND_FETCH_RESOURCE(ib_result, ibase_result *, result_arg, -1, "InterBase result", le_result); if (ib_result->out_sqlda == NULL) { _php_ibase_module_error("trying to fetch results from a non-select query"); @@ -2134,7 +2137,7 @@ WRONG_PARAM_COUNT; } - ZEND_FETCH_RESOURCE(ib_result, ibase_result *, result_arg, -1, "InterBase result", IBG(le_result)); + ZEND_FETCH_RESOURCE(ib_result, ibase_result *, result_arg, -1, "InterBase result", le_result); zend_list_delete((*result_arg)->value.lval); RETURN_TRUE; } @@ -2160,7 +2163,7 @@ RETURN_FALSE; } link_id = IBG(default_link); - ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, NULL, link_id, "InterBase link", IBG(le_link), IBG(le_plink)); + ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, NULL, link_id, "InterBase link", le_link, le_plink); break; case 2: if (zend_get_parameters_ex(2, &link_arg, &query_arg) == FAILURE) { @@ -2188,7 +2191,7 @@ zend_list_addref(link_id); - ZEND_REGISTER_RESOURCE(return_value, ib_query, IBG(le_query)); + ZEND_REGISTER_RESOURCE(return_value, ib_query, le_query); } /* }}} */ @@ -2215,7 +2218,7 @@ RETURN_FALSE; } - ZEND_FETCH_RESOURCE(ib_query, ibase_query *, args[0], -1, "InterBase query", IBG(le_query)); + ZEND_FETCH_RESOURCE(ib_query, ibase_query *, args[0], -1, "InterBase query", le_query); if (ZEND_NUM_ARGS() > 1) { /* have variables to bind */ bind_args = args[1]; @@ -2239,7 +2242,7 @@ if (ib_result) { /* select statement */ ib_query->cursor_open = 1; - ZEND_REGISTER_RESOURCE(return_value, ib_result, IBG(le_result)); + ZEND_REGISTER_RESOURCE(return_value, ib_result, le_result); } else { ib_query->cursor_open = 0; RETURN_TRUE; @@ -2262,7 +2265,7 @@ WRONG_PARAM_COUNT; } - ZEND_FETCH_RESOURCE(ib_query, ibase_query *, query_arg, -1, "InterBase query", IBG(le_query)); + ZEND_FETCH_RESOURCE(ib_query, ibase_query *, query_arg, -1, "InterBase query", le_query); zend_list_delete((*query_arg)->value.lval); RETURN_TRUE; } @@ -2343,7 +2346,7 @@ WRONG_PARAM_COUNT; } - ZEND_FETCH_RESOURCE(ib_result, ibase_result *, result, -1, "InterBase result", IBG(le_result)); + ZEND_FETCH_RESOURCE(ib_result, ibase_result *, result, -1, "InterBase result", le_result); if (ib_result->out_sqlda == NULL) { _php_ibase_module_error("trying to get num fields from a non-select query"); @@ -2373,7 +2376,7 @@ WRONG_PARAM_COUNT; } - ZEND_FETCH_RESOURCE(ib_result, ibase_result *, result_arg, -1, "InterBase result", IBG(le_result)); + ZEND_FETCH_RESOURCE(ib_result, ibase_result *, result_arg, -1, "InterBase result", le_result); if (ib_result->out_sqlda == NULL) { _php_ibase_module_error("trying to get field info from a non-select query"); @@ -2510,7 +2513,7 @@ switch (ZEND_NUM_ARGS()) { case 0: link_id = IBG(default_link); - ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, NULL, link_id, "InterBase link", IBG(le_link), IBG(le_plink)); + ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, NULL, link_id, "InterBase link", le_link, le_plink); break; case 1: if (zend_get_parameters_ex(1, &link_arg) == FAILURE) { @@ -2539,7 +2542,7 @@ RETURN_FALSE; } - RETURN_LONG(zend_list_insert(ib_blob, IBG(le_blob))); + RETURN_LONG(zend_list_insert(ib_blob, le_blob)); } /* }}} */ @@ -2577,7 +2580,7 @@ RETURN_FALSE; } - RETURN_LONG(zend_list_insert(ib_blob, IBG(le_blob))); + RETURN_LONG(zend_list_insert(ib_blob, le_blob)); } /* }}} */ @@ -2874,7 +2877,7 @@ RETURN_FALSE; } link_id = IBG(default_link); - ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, NULL, link_id, "InterBase link", IBG(le_link), IBG(le_plink)); + ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, NULL, link_id, "InterBase link", le_link, le_plink); break; case 2: if (zend_get_parameters_ex(2, &link_arg, &file_arg) == FAILURE) { Index: php4/ext/interbase/php_interbase.h diff -u php4/ext/interbase/php_interbase.h:1.17 php4/ext/interbase/php_interbase.h:1.18 --- php4/ext/interbase/php_interbase.h:1.17 Mon Jul 17 13:51:47 2000 +++ php4/ext/interbase/php_interbase.h Thu Oct 5 05:47:39 2000 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_interbase.h,v 1.17 2000/07/17 20:51:47 zeev Exp $ */ +/* $Id: php_interbase.h,v 1.18 2000/10/05 12:47:39 jah Exp $ */ #ifndef PHP_INTERBASE_H #define PHP_INTERBASE_H @@ -82,7 +82,6 @@ long num_links, num_persistent; long max_links, max_persistent; long allow_persistent; - int le_blob, le_link, le_plink, le_result, le_query, le_trans; char *default_user, *default_password; char *timestampformat; char *cfg_timestampformat;

« previous php.cvs (#1938) next »