diff options
| author | Wez Furlong <wez@php.net> | 2005-02-27 05:20:19 +0000 | 
|---|---|---|
| committer | Wez Furlong <wez@php.net> | 2005-02-27 05:20:19 +0000 | 
| commit | ae5649598dcbb3b3b105344452c782bf0f289739 (patch) | |
| tree | e03893cec670b02478808f8913d6b4148455ec2c /ext/pdo_sqlite/sqlite_statement.c | |
| parent | 58f61a16eea562cfed04c19cc319a608b2e9f345 (diff) | |
| download | php-git-ae5649598dcbb3b3b105344452c782bf0f289739.tar.gz | |
upgrade bundled sqlite to sqlite 3.1.3
Diffstat (limited to 'ext/pdo_sqlite/sqlite_statement.c')
| -rw-r--r-- | ext/pdo_sqlite/sqlite_statement.c | 17 | 
1 files changed, 14 insertions, 3 deletions
| diff --git a/ext/pdo_sqlite/sqlite_statement.c b/ext/pdo_sqlite/sqlite_statement.c index 38d091c9d7..1c2c02ca30 100644 --- a/ext/pdo_sqlite/sqlite_statement.c +++ b/ext/pdo_sqlite/sqlite_statement.c @@ -176,15 +176,16 @@ static int pdo_sqlite_stmt_describe(pdo_stmt_t *stmt, int colno TSRMLS_DC)  	stmt->columns[colno].namelen = strlen(stmt->columns[colno].name);  	stmt->columns[colno].maxlen = 0xffffffff;  	stmt->columns[colno].precision = 0; - +	  	switch (sqlite3_column_type(S->stmt, colno)) {  		case SQLITE_INTEGER:  		case SQLITE_FLOAT: -		case SQLITE_TEXT: +		case SQLITE3_TEXT:  		case SQLITE_BLOB:  			stmt->columns[colno].param_type = PDO_PARAM_STR;  			break;  		case SQLITE_NULL: +		default:  			stmt->columns[colno].param_type = PDO_PARAM_NULL;  			break;  	} @@ -214,10 +215,20 @@ static int pdo_sqlite_stmt_get_col(pdo_stmt_t *stmt, int colno, char **ptr, unsi  			*ptr = (char*)sqlite3_column_blob(S->stmt, colno);  			*len = sqlite3_column_bytes(S->stmt, colno);  			return 1; + +		case SQLITE3_TEXT: +			*ptr = (char*)sqlite3_column_text(S->stmt, colno); +			*len = sqlite3_column_bytes(S->stmt, colno); +			if (*len) { +				/* sqlite3.h says "the NUL terminator is included in the byte count +				 * for TEXT values" */ +				*len--; +			} +			return 1;  		default:  			*ptr = (char*)sqlite3_column_text(S->stmt, colno); -			*len = strlen(*ptr); +			*len = sqlite3_column_bytes(S->stmt, colno);  			return 1;  	}  } | 
