Re: STR_REALLOC definition in 5.6+
| From: | Nikita Popov | Date: | Thu, 04 Sep 2014 17:02:08 +0000 |
| Subject: | Re: STR_REALLOC definition in 5.6+ | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-77059@lists.php.net to get a copy of this message | ||
On Thu, Sep 4, 2014 at 2:00 PM, Remi Collet <Remi@famillecollet.com> wrote:
> For now:
>
> #define STR_REALLOC(ptr, size) \
> ptr = (char *) erealloc(ptr, size);
>
>
> Dealing with https://github.com/phalcon/cphalcon/pull/2772
>
> I switch from realloc to str_realloc.
> But this is not portable (str_realloc is 5.6+ only)
>
> STR_REALLOC should be better, as portable, 5.0+
>
> But should be defined as str_erealloc
>
> What do you think ?
>
>
> Probably too late, as if we fix this definition, it will portable in all
> versions > 5.0 except 5.6.0 :(
>
Given that interned strings have been added in PHP 5.4 and STR_REALLOC has
been defined like that for all the existing 5.4 and 5.5 releases, you'd
have to do a version check in any case. So I don't see much point in this...
Nikita