nobbie          Tue Jul  1 09:27:03 2003 EDT

  Modified files:              
    /php-src/ext/informix       ifx.ec 
  Log:
  - MFB: 1.69.2.18 
  
  
Index: php-src/ext/informix/ifx.ec
diff -u php-src/ext/informix/ifx.ec:1.93 php-src/ext/informix/ifx.ec:1.94
--- php-src/ext/informix/ifx.ec:1.93    Tue Jul  1 07:09:10 2003
+++ php-src/ext/informix/ifx.ec Tue Jul  1 09:27:03 2003
@@ -21,7 +21,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: ifx.ec,v 1.93 2003/07/01 11:09:10 nobbie Exp $ */
+/* $Id: ifx.ec,v 1.94 2003/07/01 13:27:03 nobbie Exp $ */
 
 /* -------------------------------------------------------------------
  * if you want a function reference : "grep '^\*\*' ifx.ec" will give
@@ -3043,20 +3043,20 @@
 
                if (*param && param != "") {
 
-                       char *filename;
-
-                       if (Ifx_blob->BLOB.blob_data.loc_fname != NULL) {
-                               unlink(Ifx_blob->BLOB.blob_data.loc_fname);
-                               efree(Ifx_blob->BLOB.blob_data.loc_fname);
-                       }
-                       if ((filename = emalloc(len + 1)) == NULL)  {
-                               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Can't 
create blob-resource");
-                               return -1;
-                       }
-                       memcpy(filename, param, len);
-                       filename[len] = 0;
-                       Ifx_blob->BLOB.blob_data.loc_fname = filename;
-                       Ifx_blob->BLOB.blob_data.loc_size = -1;
+                        /* 
+                         * copy the filename in param to filename in loc_fname 
+                         * otherwise we'll unlink non-temporary files
+                         * 
+                         * loc_fname gets filled by php_intifx_init_blob_infile
+                         */
+
+                        if (Ifx_blob->BLOB.blob_data.loc_fname != NULL) {
+                                if (php_copy_file(param, 
Ifx_blob->BLOB.blob_data.loc_fname TSRMLS_CC) == FAILURE)   {
+                                       php_error_docref(NULL TSRMLS_CC, E_WARNING, 
"Can't create blob-resource file. File copy failed: %s", param);
+                                       return -1;
+                               }
+                                Ifx_blob->BLOB.blob_data.loc_size = -1;
+                        }
                }
        }
 



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

Reply via email to