ID:               20663
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Open
 Bug Type:         Documentation problem
 Operating System: Any
 PHP Version:      4.2.0
 New Comment:

Helly-

  Are you (or someone else) planning on committing that patch? I see
you wrote it against rev 1.193, but zend.c is up to 1.205 and the old
code (using ZEND_ERROR_BUFFER_SIZE) is still there.  I'd like to put a
note on trigger_error()s doc page, but if it is indeed going to be
patched (with PHP 5.0)the note should also say that.

  Although I just noticed you don't have karma for ZE2 either :) 
Anyone else intending to apply this patch or something similar?


Previous Comments:
------------------------------------------------------------------------

[2002-11-30 12:43:47] [EMAIL PROTECTED]

The following fix is against ZE2:

cvs -z3 -q diff zend.c (in directory S:\php4-HEAD\Zend)
Index: zend.c
===================================================================
RCS file: /repository/ZendEngine2/zend.c,v
retrieving revision 1.193
diff -u -r1.193 zend.c
--- zend.c      30 Nov 2002 11:20:25 -0000      1.193
+++ zend.c      30 Nov 2002 16:55:20 -0000
@@ -703,8 +703,6 @@
 }
 
 
-#define ZEND_ERROR_BUFFER_SIZE 1024
-
 ZEND_API void zend_error(int type, const char *format, ...)
 {
        va_list args;
@@ -775,18 +773,7 @@
                        ALLOC_INIT_ZVAL(z_error_filename);
                        ALLOC_INIT_ZVAL(z_error_lineno);
                        ALLOC_INIT_ZVAL(z_context);
-                       z_error_message->value.str.val = (char *)
emalloc(ZEND_ERROR_BUFFER_SIZE);
-
-#ifdef HAVE_VSNPRINTF
-                       z_error_message->value.str.len =
vsnprintf(z_error_message->value.str.val, ZEND_ERROR_BUFFER_SIZE,
format, args);
-                       if (z_error_message->value.str.len > ZEND_ERROR_BUFFER_SIZE-1) 
{
-                               z_error_message->value.str.len = 
ZEND_ERROR_BUFFER_SIZE-1;
-                       }
-#else
-                       strncpy(z_error_message->value.str.val, format,
ZEND_ERROR_BUFFER_SIZE);
-                       /* This is risky... */
-                       /* z_error_message->value.str.len =
vsprintf(z_error_message->value.str.val, format, args); */
-#endif
+                       z_error_message->value.str.len =
vspprintf(&z_error_message->value.str.val, 0, format, args);
                        z_error_message->type = IS_STRING;
 
                        z_error_type->value.lval = type;



------------------------------------------------------------------------

[2002-11-26 17:36:19] [EMAIL PROTECTED]

trigger_error silently truncates your error after 1024 chars
(ZEND_ERROR_BUFFER_SIZE in the source).  I didn't see this documented
anywhere, so I'm reporting it as a documentation problem.  I'd rather
it be changed to take unlimited length strings than documented, but
documenting it would be a good first step.


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=20663&edit=1


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

Reply via email to