summaryrefslogtreecommitdiff
path: root/ext/pdo_sqlite/sqlite_statement.c
diff options
context:
space:
mode:
authorAlexey Zakhlestin <indeyets@php.net>2009-04-01 11:32:14 +0000
committerAlexey Zakhlestin <indeyets@php.net>2009-04-01 11:32:14 +0000
commit4bccb4565d6829b772eb84c087723e60d8f4eae5 (patch)
tree8bd93f88619eaa22ea8921ee587a6ffe241ac07d /ext/pdo_sqlite/sqlite_statement.c
parente45c0bb900c8941f85111b51e4793511b535e6fe (diff)
downloadphp-git-4bccb4565d6829b772eb84c087723e60d8f4eae5.tar.gz
MFH: const pointer was used in non-const context
Diffstat (limited to 'ext/pdo_sqlite/sqlite_statement.c')
-rw-r--r--ext/pdo_sqlite/sqlite_statement.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/ext/pdo_sqlite/sqlite_statement.c b/ext/pdo_sqlite/sqlite_statement.c
index 63598901a0..eca6845d25 100644
--- a/ext/pdo_sqlite/sqlite_statement.c
+++ b/ext/pdo_sqlite/sqlite_statement.c
@@ -282,6 +282,8 @@ static int pdo_sqlite_stmt_get_col(pdo_stmt_t *stmt, int colno, char **ptr, unsi
static int pdo_sqlite_stmt_col_meta(pdo_stmt_t *stmt, long colno, zval *return_value TSRMLS_DC)
{
pdo_sqlite_stmt *S = (pdo_sqlite_stmt*)stmt->driver_data;
+ const char *_str;
+ size_t _str_len;
char *str;
zval *flags;
@@ -318,14 +320,20 @@ static int pdo_sqlite_stmt_col_meta(pdo_stmt_t *stmt, long colno, zval *return_v
break;
}
- str = (char*)sqlite3_column_decltype(S->stmt, colno);
- if (str) {
+ _str = sqlite3_column_decltype(S->stmt, colno);
+ _str_len = strlen(_str);
+ if (_str) {
+ str = emalloc(_str_len);
+ strcpy(str, _str);
add_assoc_string(return_value, "sqlite:decl_type", str, 1);
}
#ifdef SQLITE_ENABLE_COLUMN_METADATA
- str = sqlite3_column_table_name(S->stmt, colno);
- if (str) {
+ _str = sqlite3_column_table_name(S->stmt, colno);
+ _str_len = strlen(_str);
+ if (_str) {
+ str = emalloc(_str_len);
+ strcpy(str, _str);
add_assoc_string(return_value, "table", str, 1);
}
#endif