wez             Sat Sep 24 14:55:56 2005 EDT

  Modified files:              (Branch: PHP_5_1)
    /php-src/ext/pdo_sqlite     sqlite_statement.c 
  Log:
  Refs #34630
  
  
http://cvs.php.net/diff.php/php-src/ext/pdo_sqlite/sqlite_statement.c?r1=1.18.2.1&r2=1.18.2.2&ty=u
Index: php-src/ext/pdo_sqlite/sqlite_statement.c
diff -u php-src/ext/pdo_sqlite/sqlite_statement.c:1.18.2.1 
php-src/ext/pdo_sqlite/sqlite_statement.c:1.18.2.2
--- php-src/ext/pdo_sqlite/sqlite_statement.c:1.18.2.1  Sun Sep 11 01:00:12 2005
+++ php-src/ext/pdo_sqlite/sqlite_statement.c   Sat Sep 24 14:55:56 2005
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: sqlite_statement.c,v 1.18.2.1 2005/09/11 05:00:12 wez Exp $ */
+/* $Id: sqlite_statement.c,v 1.18.2.2 2005/09/24 18:55:56 wez Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -93,7 +93,6 @@
                                }
 
                                switch (PDO_PARAM_TYPE(param->param_type)) {
-                                       case PDO_PARAM_LOB:
                                        case PDO_PARAM_STMT:
                                                return 0;
 
@@ -103,7 +102,23 @@
                                                }
                                                pdo_sqlite_error_stmt(stmt);
                                                return 0;
-                                               
+                                       
+                                       case PDO_PARAM_LOB:
+                                               if (Z_TYPE_P(param->parameter) 
== IS_RESOURCE) {
+                                                       php_stream *stm;
+                                                       
php_stream_from_zval_no_verify(stm, &param->parameter);
+                                                       if (stm) {
+                                                               
SEPARATE_ZVAL_IF_NOT_REF(&param->parameter);
+                                                               
Z_TYPE_P(param->parameter) = IS_STRING;
+                                                               
Z_STRLEN_P(param->parameter) = php_stream_copy_to_mem(stm,
+                                                                       
&Z_STRVAL_P(param->parameter), PHP_STREAM_COPY_ALL, 0);
+                                                       } else {
+                                                               
pdo_raise_impl_error(stmt->dbh, stmt, "HY105", "Expected a stream resource");
+                                                               return 0;
+                                                       }
+                                               }
+                                               /* fall through */
+               
                                        case PDO_PARAM_STR:
                                        default:
                                                if (Z_TYPE_P(param->parameter) 
== IS_NULL) {
@@ -113,9 +128,9 @@
                                                } else {
                                                        
convert_to_string(param->parameter);
                                                        if(SQLITE_OK == 
sqlite3_bind_text(S->stmt, param->paramno + 1,
-                                                               
Z_STRVAL_P(param->parameter),
-                                                               
Z_STRLEN_P(param->parameter),
-                                                               SQLITE_STATIC)) 
{
+                                                                       
Z_STRVAL_P(param->parameter),
+                                                                       
Z_STRLEN_P(param->parameter),
+                                                                       
SQLITE_STATIC)) {
                                                                return 1;       
                                                        }
                                                }

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

Reply via email to