Re: Changes on zend head
| From: | Peter Bowen | Date: | Tue, 29 Apr 2003 14:36:59 +0000 |
| Subject: | Re: Changes on zend head | ||
| References: | 1 2 3 4 5 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-1104@lists.php.net to get a copy of this message | ||
On Tue, 2003-04-29 at 07:40, Jani Taskinen wrote:
> On 29 Apr 2003, Peter Bowen wrote:
>
> >On Tue, 2003-04-29 at 02:31, Derick Rethans wrote:
> >> On Tue, 28 Apr 2003, Peter Bowen wrote:
> >> > There appear to be a couple of feature additions to ZE1 after the
> >> > branch, including backtrace functionality, and several minor bug fixes.
> >> > Is there a chance these will get ported to the 4.3 branch?
> >>
> >> I know I ported atleast one fix... it would help a lot if you could make
> >> a list of the patches.
> >
> >Attached is the combined patch for all the smallish changes/fixes on ZE1
> >HEAD. I have a separate patch for the debug_backtrace functionality, as
> >it is a significant amount of code.
>
> debug_backtrace() is in 4.3 branch.
Ugh. I meant debug_print_backtrace. debug_backtrace is somewhat
helpful, but, unless I'm missing something, there isn't a convenient way
to print the backtrace. The second attached patch adds
debug_print_backtrace().
> >The changes include fixes for bugs 16137, 20969, and lineno handling, a
> >more streamlined version of the leak fix, a fix for Netware includes,
>
> AFAIK all these are in, maybe not just done the same way.
I know that 20969 is still broken in 4.3, as that is what sent me on
this quest in the first place. I have attached just the relevant part
of the patch.
Thanks.
Peter
--- zend_operators.c 14 Oct 2002 13:41:50 -0000 1.129 +++ zend_operators.c 31 Dec 2002 15:55:04 -0000 1.135 @@ -816,8 +816,13 @@ op1 = &op1_copy; if (op1->type == IS_DOUBLE) { - op1->value.lval = (long) op1->value.dval; - op1->type = IS_LONG; +#ifdef SIZEOF_LONG_LONG + result->value.lval = (long) (~(long long) op1->value.dval); +#else + result->value.lval = ~ (long) op1->value.dval; +#endif + result->type = IS_LONG; + return SUCCESS; } if (op1->type == IS_LONG) { result->value.lval = ~op1->value.lval; Attachment: [text/x-patch] zend-print-bt.patch
--- zend_operators.c 14 Oct 2002 13:41:50 -0000 1.129 +++ zend_operators.c 31 Dec 2002 15:55:04 -0000 1.135 @@ -816,8 +816,13 @@ op1 = &op1_copy; if (op1->type == IS_DOUBLE) { - op1->value.lval = (long) op1->value.dval; - op1->type = IS_LONG; +#ifdef SIZEOF_LONG_LONG + result->value.lval = (long) (~(long long) op1->value.dval); +#else + result->value.lval = ~ (long) op1->value.dval; +#endif + result->type = IS_LONG; + return SUCCESS; } if (op1->type == IS_LONG) { result->value.lval = ~op1->value.lval; Attachment: [text/x-patch] zend-print-bt.patch