cvs: php4 /ext/sybase php_sybase_db.c /ext/sybase_ct php_sybase_ct.c

From: Date: Wed, 06 Mar 2002 15:59:46 +0000
Subject: cvs: php4 /ext/sybase php_sybase_db.c /ext/sybase_ct php_sybase_ct.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-9733@lists.php.net to get a copy of this message
derick Wed Mar 6 10:59:46 2002 EDT Modified files: /php4/ext/sybase php_sybase_db.c /php4/ext/sybase_ct php_sybase_ct.c Log: - Add 'appname' parameter to sybase_connect. (Patch by Christophe Sollet <csollet@coleebris.com>)

Index: php4/ext/sybase/php_sybase_db.c diff -u php4/ext/sybase/php_sybase_db.c:1.35 php4/ext/sybase/php_sybase_db.c:1.36 --- php4/ext/sybase/php_sybase_db.c:1.35 Tue Dec 11 10:30:39 2001 +++ php4/ext/sybase/php_sybase_db.c Wed Mar 6 10:59:42 2002 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_sybase_db.c,v 1.35 2001/12/11 15:30:39 sebastian Exp $ */ +/* $Id: php_sybase_db.c,v 1.36 2002/03/06 15:59:42 derick Exp $ */ #ifdef HAVE_CONFIG_H @@ -301,7 +301,7 @@ static void php_sybase_do_connect(INTERNAL_FUNCTION_PARAMETERS,int persistent) { - char *user=NULL,*passwd=NULL,*host=NULL,*charset=NULL; + char *user=NULL,*passwd=NULL,*host=NULL,*charset=NULL,*appname=NULL; char *hashed_details; int hashed_details_length; sybase_link sybase,*sybase_ptr; @@ -320,9 +320,9 @@ } convert_to_string(yyhost); host = Z_STRVAL_P(yyhost); - hashed_details_length = Z_STRLEN_P(yyhost)+6+4; + hashed_details_length = Z_STRLEN_P(yyhost)+6+5; hashed_details = (char *) emalloc(hashed_details_length+1); - sprintf(hashed_details,"sybase_%s___",Z_STRVAL_P(yyhost)); + sprintf(hashed_details,"sybase_%s____",Z_STRVAL_P(yyhost)); } break; case 2: { @@ -335,9 +335,9 @@ convert_to_string(yyuser); host = Z_STRVAL_P(yyhost); user = Z_STRVAL_P(yyuser); - hashed_details_length = Z_STRLEN_P(yyhost)+Z_STRLEN_P(yyuser)+6+4; + hashed_details_length = Z_STRLEN_P(yyhost)+Z_STRLEN_P(yyuser)+6+5; hashed_details = (char *) emalloc(hashed_details_length+1); - sprintf(hashed_details,"sybase_%s_%s__",Z_STRVAL_P(yyhost),Z_STRVAL_P(yyuser)); + sprintf(hashed_details,"sybase_%s_%s___",Z_STRVAL_P(yyhost),Z_STRVAL_P(yyuser)); } break; case 3: { @@ -352,9 +352,9 @@ host = Z_STRVAL_P(yyhost); user = Z_STRVAL_P(yyuser); passwd = Z_STRVAL_P(yypasswd); - hashed_details_length = Z_STRLEN_P(yyhost)+Z_STRLEN_P(yyuser)+Z_STRLEN_P(yypasswd)+6+4; + hashed_details_length = Z_STRLEN_P(yyhost)+Z_STRLEN_P(yyuser)+Z_STRLEN_P(yypasswd)+6+5; hashed_details = (char *) emalloc(hashed_details_length+1); - sprintf(hashed_details,"sybase_%s_%s_%s_",Z_STRVAL_P(yyhost),Z_STRVAL_P(yyuser),Z_STRVAL_P(yypasswd)); /* SAFE */ + sprintf(hashed_details,"sybase_%s_%s_%s__",Z_STRVAL_P(yyhost),Z_STRVAL_P(yyuser),Z_STRVAL_P(yypasswd)); /* SAFE */ } break; case 4: { @@ -371,9 +371,30 @@ user = Z_STRVAL_P(yyuser); passwd = Z_STRVAL_P(yypasswd); charset = Z_STRVAL_P(yycharset); - hashed_details_length = Z_STRLEN_P(yyhost)+Z_STRLEN_P(yyuser)+Z_STRLEN_P(yypasswd)+Z_STRLEN_P(yycharset)+6+4; + hashed_details_length = Z_STRLEN_P(yyhost)+Z_STRLEN_P(yyuser)+Z_STRLEN_P(yypasswd)+Z_STRLEN_P(yycharset)+6+5; hashed_details = (char *) emalloc(hashed_details_length+1); - sprintf(hashed_details,"sybase_%s_%s_%s_%s",Z_STRVAL_P(yyhost),Z_STRVAL_P(yyuser),Z_STRVAL_P(yypasswd),Z_STRVAL_P(yycharset)); /* SAFE */ + sprintf(hashed_details,"sybase_%s_%s_%s_%s_",Z_STRVAL_P(yyhost),Z_STRVAL_P(yyuser),Z_STRVAL_P(yypasswd),Z_STRVAL_P(yycharset)); /* SAFE */ + } + break; + case 5: { + pval *yyhost,*yyuser,*yypasswd,*yycharset, *yyappname; + + if (getParameters(ht, 5, &yyhost, &yyuser, &yypasswd, &yycharset, &yyappname) == FAILURE) { + RETURN_FALSE; + } + convert_to_string(yyhost); + convert_to_string(yyuser); + convert_to_string(yypasswd); + convert_to_string(yycharset); + convert_to_string(yyappname); + host = Z_STRVAL_P(yyhost); + user = Z_STRVAL_P(yyuser); + passwd = Z_STRVAL_P(yypasswd); + charset = Z_STRVAL_P(yycharset); + appname = Z_STRVAL_P(yyappname); + hashed_details_length = Z_STRLEN_P(yyhost)+Z_STRLEN_P(yyuser)+Z_STRLEN_P(yypasswd)+Z_STRLEN_P(yycharset)+Z_STRLEN_P(yyappname)+6+5; + hashed_details = (char *) emalloc(hashed_details_length+1); + sprintf(hashed_details,"sybase_%s_%s_%s_%s_%s",Z_STRVAL_P(yyhost),Z_STRVAL_P(yyuser),Z_STRVAL_P(yypasswd),Z_STRVAL_P(yycharset),Z_STRVAL_P(yyappname)); /* SAFE */ } break; default: @@ -397,7 +418,12 @@ if (charset) { DBSETLCHARSET(sybase.login,charset); } - DBSETLAPP(sybase.login,php_sybase_module.appname); + if (appname) { + DBSETLAPP(sybase.login,appname); + } else { + DBSETLAPP(sybase.login,php_sybase_module.appname); + } + sybase.valid = 1; if (!php_sybase_module.allow_persistent) { @@ -549,7 +575,7 @@ } -/* {{{ proto int sybase_connect([string host [, string user [, string password [, string charset]]]]) +/* {{{ proto int sybase_connect([string host [, string user [, string password [, string charset [, string appname]]]]]) Open Sybase server connection */ PHP_FUNCTION(sybase_connect) { @@ -557,7 +583,7 @@ } /* }}} */ -/* {{{ proto int sybase_pconnect([string host [, string user [, string password [, string charset]]]]) +/* {{{ proto int sybase_pconnect([string host [, string user [, string password [, string charset [, string appname]]]]]) Open persistent Sybase connection */ PHP_FUNCTION(sybase_pconnect) { Index: php4/ext/sybase_ct/php_sybase_ct.c diff -u php4/ext/sybase_ct/php_sybase_ct.c:1.68 php4/ext/sybase_ct/php_sybase_ct.c:1.69 --- php4/ext/sybase_ct/php_sybase_ct.c:1.68 Tue Dec 11 10:30:42 2001 +++ php4/ext/sybase_ct/php_sybase_ct.c Wed Mar 6 10:59:44 2002 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_sybase_ct.c,v 1.68 2001/12/11 15:30:42 sebastian Exp $ */ +/* $Id: php_sybase_ct.c,v 1.69 2002/03/06 15:59:44 derick Exp $ */ #ifdef HAVE_CONFIG_H @@ -371,7 +371,7 @@ } -static int php_sybase_do_connect_internal(sybase_link *sybase, char *host, char *user, char *passwd, char *charset) +static int php_sybase_do_connect_internal(sybase_link *sybase, char *host, char *user, char *passwd, char *charset, char *appname) { CS_LOCALE *tmp_locale; TSRMLS_FETCH(); @@ -395,7 +395,11 @@ if (passwd) { ct_con_props(sybase->connection, CS_SET, CS_PASSWORD, passwd, CS_NULLTERM, NULL); } - ct_con_props(sybase->connection, CS_SET, CS_APPNAME, SybCtG(appname), CS_NULLTERM, NULL); + if (appname) { + ct_con_props(sybase->connection, CS_SET, CS_APPNAME, appname, CS_NULLTERM, NULL); + } else { + ct_con_props(sybase->connection, CS_SET, CS_APPNAME, SybCtG(appname), CS_NULLTERM, NULL); + } if (SybCtG(hostname)) { ct_con_props(sybase->connection, CS_SET, CS_HOSTNAME, SybCtG(hostname), CS_NULLTERM, NULL); @@ -442,17 +446,17 @@ static void php_sybase_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) { - char *user, *passwd, *host, *charset; + char *user, *passwd, *host, *charset, *appname; char *hashed_details; int hashed_details_length; sybase_link *sybase_ptr; switch(ZEND_NUM_ARGS()) { case 0: /* defaults */ - host=user=passwd=charset=NULL; - hashed_details_length=6+4; + host=user=passwd=charset=appname=NULL; + hashed_details_length=6+5; hashed_details = (char *) emalloc(hashed_details_length+1); - strcpy(hashed_details, "sybase____"); + strcpy(hashed_details, "sybase_____"); break; case 1: { pval *yyhost; @@ -462,10 +466,10 @@ } convert_to_string(yyhost); host = Z_STRVAL_P(yyhost); - user=passwd=charset=NULL; - hashed_details_length = Z_STRLEN_P(yyhost)+6+4; + user=passwd=charset=appname=NULL; + hashed_details_length = Z_STRLEN_P(yyhost)+6+5; hashed_details = (char *) emalloc(hashed_details_length+1); - sprintf(hashed_details, "sybase_%s___", Z_STRVAL_P(yyhost)); + sprintf(hashed_details, "sybase_%s____", Z_STRVAL_P(yyhost)); } break; case 2: { @@ -478,10 +482,10 @@ convert_to_string(yyuser); host = Z_STRVAL_P(yyhost); user = Z_STRVAL_P(yyuser); - passwd=charset=NULL; - hashed_details_length = Z_STRLEN_P(yyhost)+Z_STRLEN_P(yyuser)+6+4; + passwd=charset=appname=NULL; + hashed_details_length = Z_STRLEN_P(yyhost)+Z_STRLEN_P(yyuser)+6+5; hashed_details = (char *) emalloc(hashed_details_length+1); - sprintf(hashed_details, "sybase_%s_%s__", Z_STRVAL_P(yyhost), Z_STRVAL_P(yyuser)); + sprintf(hashed_details, "sybase_%s_%s___", Z_STRVAL_P(yyhost), Z_STRVAL_P(yyuser)); } break; case 3: { @@ -496,10 +500,10 @@ host = Z_STRVAL_P(yyhost); user = Z_STRVAL_P(yyuser); passwd = Z_STRVAL_P(yypasswd); - charset=NULL; - hashed_details_length = Z_STRLEN_P(yyhost)+Z_STRLEN_P(yyuser)+Z_STRLEN_P(yypasswd)+6+4; + charset=appname=NULL; + hashed_details_length = Z_STRLEN_P(yyhost)+Z_STRLEN_P(yyuser)+Z_STRLEN_P(yypasswd)+6+5; hashed_details = (char *) emalloc(hashed_details_length+1); - sprintf(hashed_details, "sybase_%s_%s_%s_", Z_STRVAL_P(yyhost), Z_STRVAL_P(yyuser), Z_STRVAL_P(yypasswd)); + sprintf(hashed_details, "sybase_%s_%s_%s__", Z_STRVAL_P(yyhost), Z_STRVAL_P(yyuser), Z_STRVAL_P(yypasswd)); } break; case 4: { @@ -516,9 +520,31 @@ user = Z_STRVAL_P(yyuser); passwd = Z_STRVAL_P(yypasswd); charset = Z_STRVAL_P(yycharset); - hashed_details_length = Z_STRLEN_P(yyhost)+Z_STRLEN_P(yyuser)+Z_STRLEN_P(yypasswd)+Z_STRLEN_P(yycharset)+6+4; + appname=NULL; + hashed_details_length = Z_STRLEN_P(yyhost)+Z_STRLEN_P(yyuser)+Z_STRLEN_P(yypasswd)+Z_STRLEN_P(yycharset)+6+5; + hashed_details = (char *) emalloc(hashed_details_length+1); + sprintf(hashed_details, "sybase_%s_%s_%s_%s_", Z_STRVAL_P(yyhost), Z_STRVAL_P(yyuser), Z_STRVAL_P(yypasswd), Z_STRVAL_P(yycharset)); + } + break; + case 5: { + pval *yyhost, *yyuser, *yypasswd, *yycharset, *yyappname; + + if (getParameters(ht, 5, &yyhost, &yyuser, &yypasswd, &yycharset, &yyappname) == FAILURE) { + RETURN_FALSE; + } + convert_to_string(yyhost); + convert_to_string(yyuser); + convert_to_string(yypasswd); + convert_to_string(yycharset); + convert_to_string(yyappname); + host = Z_STRVAL_P(yyhost); + user = Z_STRVAL_P(yyuser); + passwd = Z_STRVAL_P(yypasswd); + charset = Z_STRVAL_P(yycharset); + appname = Z_STRVAL_P(yyappname); + hashed_details_length = Z_STRLEN_P(yyhost)+Z_STRLEN_P(yyuser)+Z_STRLEN_P(yypasswd)+Z_STRLEN_P(yycharset)+Z_STRLEN_P(yyappname)+6+5; hashed_details = (char *) emalloc(hashed_details_length+1); - sprintf(hashed_details, "sybase_%s_%s_%s_%s", Z_STRVAL_P(yyhost), Z_STRVAL_P(yyuser), Z_STRVAL_P(yypasswd), Z_STRVAL_P(yycharset)); + sprintf(hashed_details, "sybase_%s_%s_%s_%s_%s", Z_STRVAL_P(yyhost), Z_STRVAL_P(yyuser), Z_STRVAL_P(yypasswd), Z_STRVAL_P(yycharset), Z_STRVAL_P(yyappname)); } break; default: @@ -549,7 +575,7 @@ } sybase_ptr = (sybase_link *) malloc(sizeof(sybase_link)); - if (!php_sybase_do_connect_internal(sybase_ptr, host, user, passwd, charset)) { + if (!php_sybase_do_connect_internal(sybase_ptr, host, user, passwd, charset, appname)) { free(sybase_ptr); efree(hashed_details); RETURN_FALSE; @@ -603,7 +629,7 @@ * NULL before trying to use it elsewhere . . .) */ memcpy(&sybase, sybase_ptr, sizeof(sybase_link)); - if (!php_sybase_do_connect_internal(sybase_ptr, host, user, passwd, charset)) { + if (!php_sybase_do_connect_internal(sybase_ptr, host, user, passwd, charset, appname)) { memcpy(sybase_ptr, &sybase, sizeof(sybase_link)); efree(hashed_details); RETURN_FALSE; @@ -647,7 +673,7 @@ } sybase_ptr = (sybase_link *) emalloc(sizeof(sybase_link)); - if (!php_sybase_do_connect_internal(sybase_ptr, host, user, passwd, charset)) { + if (!php_sybase_do_connect_internal(sybase_ptr, host, user, passwd, charset, appname)) { efree(sybase_ptr); efree(hashed_details); RETURN_FALSE; @@ -684,7 +710,7 @@ } -/* {{{ proto int sybase_connect([string host [, string user [, string password [, string charset]]]]) +/* {{{ proto int sybase_connect([string host [, string user [, string password [, string charset [, string appname]]]]]) Open Sybase server connection */ PHP_FUNCTION(sybase_connect) { @@ -693,7 +719,7 @@ /* }}} */ -/* {{{ proto int sybase_pconnect([string host [, string user [, string password [, string charset]]]]) +/* {{{ proto int sybase_pconnect([string host [, string user [, string password [, string charset [, string appname]]]]]) Open persistent Sybase connection */ PHP_FUNCTION(sybase_pconnect) {
« previous php.cvs (#9733) next »