thekid          Sun Jun 22 10:11:14 2008 UTC

  Modified files:              (Branch: PHP_5_3)
    /php-src/ext/sybase_ct      php_sybase_ct.c 
  Log:
  - Changed zend_get_parameters_ex -> zend_parse_parameters
  - Simplified source in php_sybase_do_connect()
  # Part 1, more to follow
  
http://cvs.php.net/viewvc.cgi/php-src/ext/sybase_ct/php_sybase_ct.c?r1=1.103.2.5.2.13.2.3&r2=1.103.2.5.2.13.2.4&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.3 
php-src/ext/sybase_ct/php_sybase_ct.c:1.103.2.5.2.13.2.4
--- php-src/ext/sybase_ct/php_sybase_ct.c:1.103.2.5.2.13.2.3    Mon Dec 31 
07:17:16 2007
+++ php-src/ext/sybase_ct/php_sybase_ct.c       Sun Jun 22 10:11:14 2008
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_sybase_ct.c,v 1.103.2.5.2.13.2.3 2007/12/31 07:17:16 sebastian Exp 
$ */
+/* $Id: php_sybase_ct.c,v 1.103.2.5.2.13.2.4 2008/06/22 10:11:14 thekid Exp $ 
*/
 
 
 #ifdef HAVE_CONFIG_H
@@ -597,98 +597,23 @@
        char *user, *passwd, *host, *charset, *appname;
        char *hashed_details;
        int hashed_details_length;
+       int len;
        sybase_link *sybase_ptr;
 
-       switch(ZEND_NUM_ARGS()) {
-               case 0: /* defaults */
-                       host=user=passwd=charset=appname=NULL;
-                       hashed_details_length=6+5;
-                       hashed_details = (char *) 
emalloc(hashed_details_length+1);
-                       strcpy(hashed_details, "sybase_____");
-                       break;
-               case 1: {
-                               zval **yyhost;
-
-                               if (zend_get_parameters_ex(1, &yyhost) == 
FAILURE) {
-                                       RETURN_FALSE;
-                               }
-                               convert_to_string_ex(yyhost);
-                               host = Z_STRVAL_PP(yyhost);
-                               user=passwd=charset=appname=NULL;
-                               hashed_details_length = 
spprintf(&hashed_details, 0, "sybase_%s____", Z_STRVAL_PP(yyhost));
-                       }
-                       break;
-               case 2: {
-                               zval **yyhost, **yyuser;
-
-                               if (zend_get_parameters_ex(2, &yyhost, &yyuser) 
== FAILURE) {
-                                       RETURN_FALSE;
-                               }
-                               convert_to_string_ex(yyhost);
-                               convert_to_string_ex(yyuser);
-                               host = Z_STRVAL_PP(yyhost);
-                               user = Z_STRVAL_PP(yyuser);
-                               passwd=charset=appname=NULL;
-                               hashed_details_length = 
spprintf(&hashed_details, 0, "sybase_%s_%s___", Z_STRVAL_PP(yyhost), 
Z_STRVAL_PP(yyuser));
-                       }
-                       break;
-               case 3: {
-                               zval **yyhost, **yyuser, **yypasswd;
-
-                               if (zend_get_parameters_ex(3, &yyhost, &yyuser, 
&yypasswd) == FAILURE) {
-                                       RETURN_FALSE;
-                               }
-                               convert_to_string_ex(yyhost);
-                               convert_to_string_ex(yyuser);
-                               convert_to_string_ex(yypasswd);
-                               host = Z_STRVAL_PP(yyhost);
-                               user = Z_STRVAL_PP(yyuser);
-                               passwd = Z_STRVAL_PP(yypasswd);
-                               charset=appname=NULL;
-                               hashed_details_length = 
spprintf(&hashed_details, 0, "sybase_%s_%s_%s__", Z_STRVAL_PP(yyhost), 
Z_STRVAL_PP(yyuser), Z_STRVAL_PP(yypasswd));
-                       }
-                       break;
-               case 4: {
-                               zval **yyhost, **yyuser, **yypasswd, 
**yycharset;
-
-                               if (zend_get_parameters_ex(4, &yyhost, &yyuser, 
&yypasswd, &yycharset) == FAILURE) {
-                                       RETURN_FALSE;
-                               }
-                               convert_to_string_ex(yyhost);
-                               convert_to_string_ex(yyuser);
-                               convert_to_string_ex(yypasswd);
-                               convert_to_string_ex(yycharset);
-                               host = Z_STRVAL_PP(yyhost);
-                               user = Z_STRVAL_PP(yyuser);
-                               passwd = Z_STRVAL_PP(yypasswd);
-                               charset = Z_STRVAL_PP(yycharset);
-                               appname=NULL;
-                               hashed_details_length = 
spprintf(&hashed_details, 0, "sybase_%s_%s_%s_%s_", Z_STRVAL_PP(yyhost), 
Z_STRVAL_PP(yyuser), Z_STRVAL_PP(yypasswd), Z_STRVAL_PP(yycharset));
-                       }
-                       break;
-               case 5: {
-                               zval **yyhost, **yyuser, **yypasswd, 
**yycharset, **yyappname;
-
-                               if (zend_get_parameters_ex(5, &yyhost, &yyuser, 
&yypasswd, &yycharset, &yyappname) == FAILURE) {
-                                       RETURN_FALSE;
-                               }
-                               convert_to_string_ex(yyhost);
-                               convert_to_string_ex(yyuser);
-                               convert_to_string_ex(yypasswd);
-                               convert_to_string_ex(yycharset);
-                               convert_to_string_ex(yyappname);
-                               host = Z_STRVAL_PP(yyhost);
-                               user = Z_STRVAL_PP(yyuser);
-                               passwd = Z_STRVAL_PP(yypasswd);
-                               charset = Z_STRVAL_PP(yycharset);
-                               appname = Z_STRVAL_PP(yyappname);
-                               hashed_details_length = 
spprintf(&hashed_details, 0, "sybase_%s_%s_%s_%s_%s", Z_STRVAL_PP(yyhost), 
Z_STRVAL_PP(yyuser), Z_STRVAL_PP(yypasswd), Z_STRVAL_PP(yycharset), 
Z_STRVAL_PP(yyappname));
-                       }
-                       break;
-               default:
-                       WRONG_PARAM_COUNT;
-                       break;
+    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;
        }
+       hashed_details_length = spprintf(
+               &hashed_details, 
+               0, 
+               "sybase_%s_%s_%s_%s_%s",
+               host ? host : "", 
+               user ? user : "", 
+               passwd ? passwd : "", 
+               charset ? charset : "", 
+               appname ? appname : ""
+       );
 
        if (!SybCtG(allow_persistent)) {
                persistent=0;



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

Reply via email to