iliaa           Fri Dec 29 00:34:53 2006 UTC

  Modified files:              
    /php-src/ext/pgsql  pgsql.c 
  Log:
  MFB: Fixed bug #39971 (pg_insert/pg_update do not allow now() to be used for  
 
  timestamp fields).
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/pgsql/pgsql.c?r1=1.362&r2=1.363&diff_format=u
Index: php-src/ext/pgsql/pgsql.c
diff -u php-src/ext/pgsql/pgsql.c:1.362 php-src/ext/pgsql/pgsql.c:1.363
--- php-src/ext/pgsql/pgsql.c:1.362     Thu Dec 28 15:21:32 2006
+++ php-src/ext/pgsql/pgsql.c   Fri Dec 29 00:34:53 2006
@@ -20,7 +20,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: pgsql.c,v 1.362 2006/12/28 15:21:32 iliaa Exp $ */
+/* $Id: pgsql.c,v 1.363 2006/12/29 00:34:53 iliaa Exp $ */
 
 #include <stdlib.h>
 
@@ -4955,14 +4955,14 @@
                                switch(Z_TYPE_PP(val)) {
                                        case IS_STRING:
                                                if (Z_STRLEN_PP(val) == 0) {
-                                                       ZVAL_STRING(new_val, 
"NULL", 1);
-                                               }
-                                               else {
+                                                       ZVAL_STRINGL(new_val, 
"NULL", sizeof("NULL")-1, 1);
+                                               } else if 
(!strcasecmp(Z_STRVAL_PP(val), "now()")) {
+                                                       ZVAL_STRINGL(new_val, 
"NOW()", sizeof("NOW()")-1, 1);
+                                               } else {
                                                        /* FIXME: better regex 
must be used */
                                                        if 
(php_pgsql_convert_match(Z_STRVAL_PP(val), 
"^([0-9]{4}[/-][0-9]{1,2}[/-][0-9]{1,2})([ 
\\t]+(([0-9]{1,2}:[0-9]{1,2}){1}(:[0-9]{1,2}){0,1}(\\.[0-9]+){0,1}([ 
\\t]*([+-][0-9]{1,2}(:[0-9]{1,2}){0,1}|[a-zA-Z]{1,5})){0,1})){0,1}$", 1 
TSRMLS_CC) == FAILURE) {
                                                                err = 1;
-                                                       }
-                                                       else {
+                                                       } else {
                                                                
ZVAL_STRING(new_val, Z_STRVAL_PP(val), 1);
                                                                
php_pgsql_add_quotes(new_val, 1 TSRMLS_CC);
                                                        }
@@ -4970,7 +4970,7 @@
                                                break;
                                
                                        case IS_NULL:
-                                               ZVAL_STRING(new_val, "NULL", 1);
+                                               ZVAL_STRINGL(new_val, "NULL", 
sizeof("NULL")-1, 1);
                                                break;
 
                                        default:

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

Reply via email to