thekid          Mon Nov 10 10:59:45 2008 UTC

  Modified files:              (Branch: PHP_5_3)
    /php-src/ext/sybase_ct      php_sybase_ct.c 
  Log:
  - Added optional parameter "new" to sybase_connect
  # [DOC] If a second call is made to sybase_connect() with the same arguments
  # no new link will be established, but instead, the link identifier of the
  # already opened link will be returned. The new parameter modifies this
  # behavior and makes sybase_connect() always open a new link, even if 
  # sybase_connect() was called before with the same parameters.
  
http://cvs.php.net/viewvc.cgi/php-src/ext/sybase_ct/php_sybase_ct.c?r1=1.103.2.5.2.13.2.12&r2=1.103.2.5.2.13.2.13&diff_format=u
Index: php-src/ext/sybase_ct/php_sybase_ct.c
diff -u php-src/ext/sybase_ct/php_sybase_ct.c:1.103.2.5.2.13.2.12 
php-src/ext/sybase_ct/php_sybase_ct.c:1.103.2.5.2.13.2.13
--- php-src/ext/sybase_ct/php_sybase_ct.c:1.103.2.5.2.13.2.12   Sun Nov  9 
11:39:14 2008
+++ php-src/ext/sybase_ct/php_sybase_ct.c       Mon Nov 10 10:59:44 2008
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_sybase_ct.c,v 1.103.2.5.2.13.2.12 2008/11/09 11:39:14 thekid Exp $ 
*/
+/* $Id: php_sybase_ct.c,v 1.103.2.5.2.13.2.13 2008/11/10 10:59:44 thekid Exp $ 
*/
 
 
 #ifdef HAVE_CONFIG_H
@@ -49,6 +49,7 @@
        ZEND_ARG_INFO(0, password)
        ZEND_ARG_INFO(0, charset)
        ZEND_ARG_INFO(0, appname)
+       ZEND_ARG_INFO(0, new)
 ZEND_END_ARG_INFO()
 
 static
@@ -753,13 +754,19 @@
 {
        char *user, *passwd, *host, *charset, *appname;
        char *hashed_details;
-       int hashed_details_length;
-       int len;
+       int hashed_details_length, len;
+       zend_bool new = 0;
        sybase_link *sybase_ptr;
 
        host= user= passwd= charset= appname= NULL;
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sssss", &host, 
&len, &user, &len, &passwd, &len, &charset, &len, &appname, &len) == FAILURE) {
-               return;
+       if (persistent) {
+               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, 
"|s!s!s!s!s!", &host, &len, &user, &len, &passwd, &len, &charset, &len, 
&appname, &len) == FAILURE) {
+                       return;
+               }
+       } else {
+               if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, 
"|s!s!s!s!s!b", &host, &len, &user, &len, &passwd, &len, &charset, &len, 
&appname, &len, &new) == FAILURE) {
+                       return;
+               }
        }
        hashed_details_length = spprintf(
                &hashed_details, 
@@ -865,7 +872,7 @@
                 * if it doesn't, open a new sybase 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 (!new && zend_hash_find(&EG(regular_list), hashed_details, 
hashed_details_length+1, (void **) &index_ptr)==SUCCESS) {
                        int type, link;
                        void *ptr;
 
@@ -929,7 +936,7 @@
 }
 
 
-/* {{{ proto int sybase_connect([string host [, string user [, string password 
[, string charset [, string appname]]]]])
+/* {{{ proto int sybase_connect([string host [, string user [, string password 
[, string charset [, string appname [, bool new]]]]]])
    Open Sybase server connection */
 PHP_FUNCTION(sybase_connect)
 {



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to