[PHP-CVS] cvs: php-src(PHP_5_2) /ext/odbc php_odbc.c
felipe Thu May 14 17:25:51 2009 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/odbc php_odbc.c Log: - MFH: Improved fix for #42414 http://cvs.php.net/viewvc.cgi/php-src/ext/odbc/php_odbc.c?r1=1.189.2.4.2.13r2=1.189.2.4.2.14diff_format=u Index: php-src/ext/odbc/php_odbc.c diff -u php-src/ext/odbc/php_odbc.c:1.189.2.4.2.13 php-src/ext/odbc/php_odbc.c:1.189.2.4.2.14 --- php-src/ext/odbc/php_odbc.c:1.189.2.4.2.13 Thu May 14 01:27:23 2009 +++ php-src/ext/odbc/php_odbc.c Thu May 14 17:25:51 2009 @@ -20,7 +20,7 @@ +--+ */ -/* $Id: php_odbc.c,v 1.189.2.4.2.13 2009/05/14 01:27:23 felipe Exp $ */ +/* $Id: php_odbc.c,v 1.189.2.4.2.14 2009/05/14 17:25:51 felipe Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -2863,7 +2863,7 @@ PHP_FUNCTION(odbc_tables) { zval **pv_conn, **pv_cat, **pv_schema, **pv_table, **pv_type; - odbc_result *result = NULL; + odbc_result *result = NULL; odbc_connection *conn; char *cat = NULL, *schema = NULL, *table = NULL, *type = NULL; RETCODE rc; @@ -2884,8 +2884,10 @@ convert_to_string_ex(pv_schema); schema = Z_STRVAL_PP(pv_schema); case 2: - convert_to_string_ex(pv_cat); - cat = Z_STRVAL_PP(pv_cat); + if (Z_TYPE_PP(pv_cat) != IS_NULL) { + convert_to_string_ex(pv_cat); + cat = Z_STRVAL_PP(pv_cat); + } } ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, ODBC-Link, le_conn, le_pconn); @@ -2967,9 +2969,11 @@ schema = Z_STRVAL_PP(pv_schema); schema_len = Z_STRLEN_PP(pv_schema); case 2: - convert_to_string_ex(pv_cat); - cat = Z_STRVAL_PP(pv_cat); - cat_len = Z_STRLEN_PP(pv_cat); + if (Z_TYPE_PP(pv_cat) != NULL) { + convert_to_string_ex(pv_cat); + cat = Z_STRVAL_PP(pv_cat); + cat_len = Z_STRLEN_PP(pv_cat); + } } ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, ODBC-Link, le_conn, le_pconn); @@ -2994,10 +2998,6 @@ */ if (table strlen(table) schema !strlen(schema)) schema = NULL; - if (cat cat_len == 0) { - cat = NULL; - } - rc = SQLColumns(result-stmt, cat, cat_len, schema, schema_len, @@ -3044,8 +3044,10 @@ if (zend_get_parameters_ex(5, pv_conn, pv_cat, pv_schema, pv_table, pv_column) == FAILURE) { WRONG_PARAM_COUNT; } - convert_to_string_ex(pv_cat); - cat = Z_STRVAL_PP(pv_cat); + if (Z_TYPE_PP(pv_cat) != IS_NULL) { + convert_to_string_ex(pv_cat); + cat = Z_STRVAL_PP(pv_cat); + } convert_to_string_ex(pv_schema); schema = Z_STRVAL_PP(pv_schema); convert_to_string_ex(pv_table); @@ -3072,10 +3074,6 @@ efree(result); RETURN_FALSE; } - - if (cat_len == 0) { - cat = NULL; - } rc = SQLColumnPrivileges(result-stmt, cat, SAFE_SQL_NTS(cat), @@ -3114,7 +3112,7 @@ { zval **pv_conn, **pv_pcat, **pv_pschema, **pv_ptable; zval **pv_fcat, **pv_fschema, **pv_ftable; - odbc_result *result = NULL; + odbc_result *result = NULL; odbc_connection *conn; char *pcat = NULL, *pschema = NULL, *ptable = NULL; char *fcat = NULL, *fschema = NULL, *ftable = NULL; @@ -3127,8 +3125,10 @@ pv_fcat, pv_fschema, pv_ftable) == FAILURE) { WRONG_PARAM_COUNT; } - convert_to_string_ex(pv_pcat); - pcat = Z_STRVAL_PP(pv_pcat); + if (Z_TYPE_PP(pv_pcat) != IS_NULL) { + convert_to_string_ex(pv_pcat); + pcat = Z_STRVAL_PP(pv_pcat); + } convert_to_string_ex(pv_pschema); pschema = Z_STRVAL_PP(pv_pschema); convert_to_string_ex(pv_ptable); @@ -3170,10 +3170,6 @@ efree(result); RETURN_FALSE; } - - if (pcat_len == 0) { - pcat = NULL; - } rc = SQLForeignKeys(result-stmt, pcat, SAFE_SQL_NTS(pcat), @@ -3291,8 +3287,10 @@ if (zend_get_parameters_ex(4, pv_conn, pv_cat, pv_schema, pv_table) == FAILURE) { WRONG_PARAM_COUNT;
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/odbc php_odbc.c
felipe Thu May 14 01:27:24 2009 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/odbc php_odbc.c Log: MFH: - Fixed bug #42414 (some odbc_*() functions incompatible with Oracle ODBC driver) patch by: jhml at gmx dot net http://cvs.php.net/viewvc.cgi/php-src/ext/odbc/php_odbc.c?r1=1.189.2.4.2.12r2=1.189.2.4.2.13diff_format=u Index: php-src/ext/odbc/php_odbc.c diff -u php-src/ext/odbc/php_odbc.c:1.189.2.4.2.12 php-src/ext/odbc/php_odbc.c:1.189.2.4.2.13 --- php-src/ext/odbc/php_odbc.c:1.189.2.4.2.12 Fri May 1 03:06:38 2009 +++ php-src/ext/odbc/php_odbc.c Thu May 14 01:27:23 2009 @@ -20,7 +20,7 @@ +--+ */ -/* $Id: php_odbc.c,v 1.189.2.4.2.12 2009/05/01 03:06:38 felipe Exp $ */ +/* $Id: php_odbc.c,v 1.189.2.4.2.13 2009/05/14 01:27:23 felipe Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -2994,6 +2994,10 @@ */ if (table strlen(table) schema !strlen(schema)) schema = NULL; + if (cat cat_len == 0) { + cat = NULL; + } + rc = SQLColumns(result-stmt, cat, cat_len, schema, schema_len, @@ -3068,6 +3072,10 @@ efree(result); RETURN_FALSE; } + + if (cat_len == 0) { + cat = NULL; + } rc = SQLColumnPrivileges(result-stmt, cat, SAFE_SQL_NTS(cat), @@ -3162,6 +3170,10 @@ efree(result); RETURN_FALSE; } + + if (pcat_len == 0) { + pcat = NULL; + } rc = SQLForeignKeys(result-stmt, pcat, SAFE_SQL_NTS(pcat), @@ -3305,6 +3317,10 @@ efree(result); RETURN_FALSE; } + + if (cat_len == 0) { + cat = NULL; + } rc = SQLPrimaryKeys(result-stmt, cat, SAFE_SQL_NTS(cat), @@ -3543,6 +3559,10 @@ efree(result); RETURN_FALSE; } + + if (cat_len == 0) { + cat = NULL; + } rc = SQLSpecialColumns(result-stmt, type, @@ -3624,6 +3644,10 @@ efree(result); RETURN_FALSE; } + + if (cat_len == 0) { + cat = NULL; + } rc = SQLStatistics(result-stmt, cat, SAFE_SQL_NTS(cat), @@ -3698,6 +3722,10 @@ efree(result); RETURN_FALSE; } + + if (cat_len == 0) { + cat = NULL; + } rc = SQLTablePrivileges(result-stmt, cat, SAFE_SQL_NTS(cat), -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/odbc php_odbc.c php_odbc.h php_odbc_includes.h
iodbc Mon Sep 1 15:36:56 2008 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/odbc php_odbc.c php_odbc.h php_odbc_includes.h Log: MFH: - Fixed code to use ODBC 3.52 datatypes for 64bit systems (bug #43666) http://cvs.php.net/viewvc.cgi/php-src/ext/odbc/php_odbc.c?r1=1.189.2.4.2.8r2=1.189.2.4.2.9diff_format=u Index: php-src/ext/odbc/php_odbc.c diff -u php-src/ext/odbc/php_odbc.c:1.189.2.4.2.8 php-src/ext/odbc/php_odbc.c:1.189.2.4.2.9 --- php-src/ext/odbc/php_odbc.c:1.189.2.4.2.8 Mon Dec 31 07:20:09 2007 +++ php-src/ext/odbc/php_odbc.c Mon Sep 1 15:36:56 2008 @@ -20,7 +20,7 @@ +--+ */ -/* $Id: php_odbc.c,v 1.189.2.4.2.8 2007/12/31 07:20:09 sebastian Exp $ */ +/* $Id: php_odbc.c,v 1.189.2.4.2.9 2008/09/01 15:36:56 iodbc Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -64,7 +64,7 @@ static int le_result, le_conn, le_pconn; -#define SAFE_SQL_NTS(n) ((SWORD) ((n)?(SQL_NTS):0)) +#define SAFE_SQL_NTS(n) ((SQLSMALLINT) ((n)?(SQL_NTS):0)) /* {{{ odbc_functions[] */ @@ -180,7 +180,7 @@ if (res-stmt) { #if defined(HAVE_SOLID) || defined(HAVE_SOLID_30) || defined(HAVE_SOLID_35) SQLTransact(res-conn_ptr-henv, res-conn_ptr-hdbc, - (UWORD)SQL_COMMIT); + (SQLUSMALLINT) SQL_COMMIT); #endif rc = SQLFreeStmt(res-stmt,SQL_DROP); /* We don't want the connection to be closed after the last statment has been closed @@ -565,9 +565,9 @@ void odbc_sql_error(ODBC_SQL_ERROR_PARAMS) { charstate[6]; - SDWORD error;/* Not used */ + SQLINTEGER error;/* Not used */ charerrormsg[SQL_MAX_MESSAGE_LENGTH]; - SWORD errormsgsize; /* Not used */ + SQLSMALLINT errormsgsize; /* Not used */ RETCODE rc; ODBC_SQL_ENV_T henv; ODBC_SQL_CONN_T conn; @@ -641,8 +641,8 @@ { RETCODE rc; int i; - SWORD colnamelen; /* Not used */ - SDWORD displaysize; + SQLSMALLINT colnamelen; /* Not used */ + SQLLEN displaysize; result-values = (odbc_result_value *) safe_emalloc(sizeof(odbc_result_value), result-numcols, 0); @@ -650,9 +650,9 @@ result-binmode = ODBCG(defaultbinmode); for(i = 0; i result-numcols; i++) { - rc = SQLColAttributes(result-stmt, (UWORD)(i+1), SQL_COLUMN_NAME, + rc = SQLColAttributes(result-stmt, (SQLUSMALLINT)(i+1), SQL_COLUMN_NAME, result-values[i].name, sizeof(result-values[i].name), colnamelen, 0); - rc = SQLColAttributes(result-stmt, (UWORD)(i+1), SQL_COLUMN_TYPE, + rc = SQLColAttributes(result-stmt, (SQLUSMALLINT)(i+1), SQL_COLUMN_TYPE, NULL, 0, NULL, result-values[i].coltype); /* Don't bind LONG / BINARY columns, so that fetch behaviour can @@ -670,17 +670,17 @@ #ifdef HAVE_ADABAS case SQL_TIMESTAMP: result-values[i].value = (char *)emalloc(27); - SQLBindCol(result-stmt, (UWORD)(i+1), SQL_C_CHAR, result-values[i].value, + SQLBindCol(result-stmt, (SQLUSMALLINT)(i+1), SQL_C_CHAR, result-values[i].value, 27, result-values[i].vallen); break; #endif /* HAVE_ADABAS */ default: - rc = SQLColAttributes(result-stmt, (UWORD)(i+1), SQL_COLUMN_DISPLAY_SIZE, + rc = SQLColAttributes(result-stmt, (SQLUSMALLINT)(i+1), SQL_COLUMN_DISPLAY_SIZE, NULL, 0, NULL, displaysize); displaysize = displaysize = result-longreadlen ? displaysize : result-longreadlen; result-values[i].value = (char *)emalloc(displaysize + 1); - rc = SQLBindCol(result-stmt, (UWORD)(i+1), SQL_C_CHAR, result-values[i].value, + rc = SQLBindCol(result-stmt, (SQLUSMALLINT)(i+1), SQL_C_CHAR, result-values[i].value, displaysize + 1, result-values[i].vallen); break; } @@ -702,7 +702,7 @@ ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, ODBC-Link, le_conn, le_pconn); - rc = SQLTransact(conn-henv, conn-hdbc, (UWORD)((type)?SQL_COMMIT:SQL_ROLLBACK)); + rc = SQLTransact(conn-henv, conn-hdbc,
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/odbc php_odbc.c php_odbc_includes.h
iodbc Mon Sep 1 15:48:09 2008 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/odbc php_odbc.c php_odbc_includes.h Log: MFH: - Added odbc.default_cursortype to control the ODBC cursormodel (bug #43668) http://cvs.php.net/viewvc.cgi/php-src/ext/odbc/php_odbc.c?r1=1.189.2.4.2.9r2=1.189.2.4.2.10diff_format=u Index: php-src/ext/odbc/php_odbc.c diff -u php-src/ext/odbc/php_odbc.c:1.189.2.4.2.9 php-src/ext/odbc/php_odbc.c:1.189.2.4.2.10 --- php-src/ext/odbc/php_odbc.c:1.189.2.4.2.9 Mon Sep 1 15:36:56 2008 +++ php-src/ext/odbc/php_odbc.c Mon Sep 1 15:48:09 2008 @@ -20,7 +20,7 @@ +--+ */ -/* $Id: php_odbc.c,v 1.189.2.4.2.9 2008/09/01 15:36:56 iodbc Exp $ */ +/* $Id: php_odbc.c,v 1.189.2.4.2.10 2008/09/01 15:48:09 iodbc Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -380,6 +380,50 @@ } /* }}} */ + +/* {{{ PHP_INI_DISP(display_cursortype) + */ +static PHP_INI_DISP(display_cursortype) +{ + char *value; + TSRMLS_FETCH(); + + if (type == PHP_INI_DISPLAY_ORIG ini_entry-modified) { + value = ini_entry-orig_value; + } else if (ini_entry-value) { + value = ini_entry-value; + } else { + value = NULL; + } + + if (value) { + switch (atoi (value)) + { + case SQL_CURSOR_FORWARD_ONLY: + PUTS (Forward Only cursor); + break; + + case SQL_CURSOR_STATIC: + PUTS (Static cursor); + break; + + case SQL_CURSOR_KEYSET_DRIVEN: + PUTS (Keyset driven cursor); + break; + + case SQL_CURSOR_DYNAMIC: + PUTS (Dynamic cursor); + break; + + default: + php_printf(Unknown cursor model %s, value); + break; + } + } +} + +/* }}} */ + /* {{{ PHP_INI_BEGIN */ PHP_INI_BEGIN() @@ -401,6 +445,8 @@ defaultbinmode, zend_odbc_globals, odbc_globals, display_binmode) STD_PHP_INI_BOOLEAN(odbc.check_persistent, 1, PHP_INI_SYSTEM, OnUpdateLong, check_persistent, zend_odbc_globals, odbc_globals) + STD_PHP_INI_ENTRY_EX(odbc.default_cursortype, 3, PHP_INI_ALL, OnUpdateLong, + default_cursortype, zend_odbc_globals, odbc_globals, display_cursortype) PHP_INI_END() /* }}} */ @@ -879,8 +925,8 @@ /* Try to set CURSOR_TYPE to dynamic. Driver will replace this with other type if not possible. */ - if (SQLSetStmtOption(result-stmt, SQL_CURSOR_TYPE, SQL_CURSOR_DYNAMIC) - == SQL_ERROR) { + int cursortype = ODBCG(default_cursortype); + if (SQLSetStmtOption(result-stmt, SQL_CURSOR_TYPE, cursortype) == SQL_ERROR) { odbc_sql_error(conn, result-stmt, SQLSetStmtOption); SQLFreeStmt(result-stmt, SQL_DROP); efree(result); @@ -1300,8 +1346,8 @@ /* Try to set CURSOR_TYPE to dynamic. Driver will replace this with other type if not possible. */ - if (SQLSetStmtOption(result-stmt, SQL_CURSOR_TYPE, SQL_CURSOR_DYNAMIC) - == SQL_ERROR) { + int cursortype = ODBCG(default_cursortype); + if (SQLSetStmtOption(result-stmt, SQL_CURSOR_TYPE, cursortype) == SQL_ERROR) { odbc_sql_error(conn, result-stmt, SQLSetStmtOption); SQLFreeStmt(result-stmt, SQL_DROP); efree(result); http://cvs.php.net/viewvc.cgi/php-src/ext/odbc/php_odbc_includes.h?r1=1.12.2.1.2.6r2=1.12.2.1.2.7diff_format=u Index: php-src/ext/odbc/php_odbc_includes.h diff -u php-src/ext/odbc/php_odbc_includes.h:1.12.2.1.2.6 php-src/ext/odbc/php_odbc_includes.h:1.12.2.1.2.7 --- php-src/ext/odbc/php_odbc_includes.h:1.12.2.1.2.6 Mon Sep 1 15:36:56 2008 +++ php-src/ext/odbc/php_odbc_includes.hMon Sep 1 15:48:09 2008 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: php_odbc_includes.h,v 1.12.2.1.2.6 2008/09/01 15:36:56 iodbc Exp $ */ +/* $Id: php_odbc_includes.h,v 1.12.2.1.2.7 2008/09/01 15:48:09 iodbc Exp $ */ #ifndef PHP_ODBC_INCLUDES_H #define PHP_ODBC_INCLUDES_H @@ -265,6 +265,7 @@ int defConn; long defaultlrl; long defaultbinmode; +long
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/odbc php_odbc.c
tony2001Mon Feb 19 20:22:39 2007 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/odbc php_odbc.c Log: MFH: check SQLError() return value and output a meaningful errmsg when it fails http://cvs.php.net/viewvc.cgi/php-src/ext/odbc/php_odbc.c?r1=1.189.2.4.2.4r2=1.189.2.4.2.5diff_format=u Index: php-src/ext/odbc/php_odbc.c diff -u php-src/ext/odbc/php_odbc.c:1.189.2.4.2.4 php-src/ext/odbc/php_odbc.c:1.189.2.4.2.5 --- php-src/ext/odbc/php_odbc.c:1.189.2.4.2.4 Tue Jan 16 18:56:06 2007 +++ php-src/ext/odbc/php_odbc.c Mon Feb 19 20:22:38 2007 @@ -20,7 +20,7 @@ +--+ */ -/* $Id: php_odbc.c,v 1.189.2.4.2.4 2007/01/16 18:56:06 iliaa Exp $ */ +/* $Id: php_odbc.c,v 1.189.2.4.2.5 2007/02/19 20:22:38 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -587,6 +587,10 @@ do { */ rc = SQLError(henv, conn, stmt, state, error, errormsg, sizeof(errormsg)-1, errormsgsize); + if (rc != SQL_SUCCESS rc != SQL_SUCCESS_WITH_INFO) { + sprintf(state, HY000); + sprintf(errormsg, Failed to fetch error message); + } if (conn_resource) { memcpy(conn_resource-laststate, state, sizeof(state)); memcpy(conn_resource-lasterrormsg, errormsg, sizeof(errormsg)); @@ -1224,7 +1228,7 @@ if (rc != SQL_SUCCESS) { /* ummm he did it */ - odbc_sql_error(conn, NULL, SQLDataSources); + odbc_sql_error(conn, SQL_NULL_HSTMT, SQLDataSources); RETURN_FALSE; } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/odbc php_odbc.c
iliaa Tue Jan 16 18:56:06 2007 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/odbc php_odbc.c Log: Fixed output code inside odbc_result_all() http://cvs.php.net/viewvc.cgi/php-src/ext/odbc/php_odbc.c?r1=1.189.2.4.2.3r2=1.189.2.4.2.4diff_format=u Index: php-src/ext/odbc/php_odbc.c diff -u php-src/ext/odbc/php_odbc.c:1.189.2.4.2.3 php-src/ext/odbc/php_odbc.c:1.189.2.4.2.4 --- php-src/ext/odbc/php_odbc.c:1.189.2.4.2.3 Mon Jan 1 09:36:03 2007 +++ php-src/ext/odbc/php_odbc.c Tue Jan 16 18:56:06 2007 @@ -20,7 +20,7 @@ +--+ */ -/* $Id: php_odbc.c,v 1.189.2.4.2.3 2007/01/01 09:36:03 sebastian Exp $ */ +/* $Id: php_odbc.c,v 1.189.2.4.2.4 2007/01/16 18:56:06 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -1984,12 +1984,12 @@ RETURN_FALSE; } if (rc == SQL_SUCCESS_WITH_INFO) - php_printf(buf,result-longreadlen); + PHPWRITE(buf, result-longreadlen); else if (result-values[i].vallen == SQL_NULL_DATA) { php_printf(tdNULL/td); break; } else { - php_printf(buf, result-values[i].vallen); + PHPWRITE(buf, result-values[i].vallen); } php_printf(/td); break; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/odbc php_odbc.c
tony2001Thu Dec 28 14:26:37 2006 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/odbc php_odbc.c Log: MFH http://cvs.php.net/viewvc.cgi/php-src/ext/odbc/php_odbc.c?r1=1.189.2.4.2.1r2=1.189.2.4.2.2diff_format=u Index: php-src/ext/odbc/php_odbc.c diff -u php-src/ext/odbc/php_odbc.c:1.189.2.4.2.1 php-src/ext/odbc/php_odbc.c:1.189.2.4.2.2 --- php-src/ext/odbc/php_odbc.c:1.189.2.4.2.1 Thu Jun 15 18:33:08 2006 +++ php-src/ext/odbc/php_odbc.c Thu Dec 28 14:26:36 2006 @@ -20,7 +20,7 @@ +--+ */ -/* $Id: php_odbc.c,v 1.189.2.4.2.1 2006/06/15 18:33:08 dmitry Exp $ */ +/* $Id: php_odbc.c,v 1.189.2.4.2.2 2006/12/28 14:26:36 tony2001 Exp $ */ #ifdef HAVE_CONFIG_H #include config.h @@ -2090,23 +2090,23 @@ if (strstr(db, pwd) || strstr(db, PWD)) { pwd = NULL; } -strncpy( lpszConnStr, db, CONNSTRSIZE); +strlcpy( lpszConnStr, db, CONNSTRSIZE); } else { strcpy(lpszConnStr, DSN=); -strcat(lpszConnStr, db); +strlcat(lpszConnStr, db, CONNSTRSIZE); } if (uid) { if (uid[0]) { -strcat(lpszConnStr, ;UID=); -strcat(lpszConnStr, uid); -strcat(lpszConnStr, ;); +strlcat(lpszConnStr, ;UID=, CONNSTRSIZE); +strlcat(lpszConnStr, uid, CONNSTRSIZE); +strlcat(lpszConnStr, ;, CONNSTRSIZE); } if (pwd) { if (pwd[0]) { -strcat(lpszConnStr, PWD=); -strcat(lpszConnStr, pwd); -strcat(lpszConnStr, ;); +strlcat(lpszConnStr, PWD=, CONNSTRSIZE); +strlcat(lpszConnStr, pwd, CONNSTRSIZE); +strlcat(lpszConnStr, ;, CONNSTRSIZE); } } } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php