On Mon, 2013-03-11 at 11:42 +0000, Derick Rethans wrote: 
> Please, no top posting!
> 
> On Mon, 11 Mar 2013, Anatol Belski wrote:
> > On Sun, March 10, 2013 23:11, Derick Rethans wrote:
> > > On Sat, 9 Mar 2013, Anatol Belski wrote:
> > >
> > >> On Sat, 2013-03-09 at 21:57 +0100, Gustavo Lopes wrote:
> > >>
> > >>> I would agree in principle, but, as I explained before, there is a 
> > >>> problem. The DatePeriod class has 64-bit integers in its internal 
> > >>> structure. The PHP integer type cannot (in general) represent that 
> > >>> data.  So the general method of getting the object data via 
> > >>> get_properties and serializing (and then using __set_state to 
> > >>> convert the array back) does not work unless you represent those 
> > >>> 64-bit integers with some non-integer type and do the conversions.
> > >>
> > >> So base64 seems to be only the doubtful point. Thriving to fix 
> > >> that, what if we could bring it in dependency of libgmp to 
> > >> serialize and read as strings (and maybe disable serialization 
> > >> otherwise)?
> > >
> > > Why do you need libgmp for that‽
> 
> > libgmp was just the first shot as it has functions to convert from 
> > arbitrary binary data to string and vice versa, mpz_import and 
> > mpz_export. That's what should work fine across platforms. Looking at 
> > the type definitions here 
> > http://lxr.php.net/xref/PHP_5_5/ext/date/lib/timelib_structs.h#70 i 
> > wouldn't exclude possible platform issues. Implementing that manually 
> > is a tricky job, could be done probably with more homework :)
> > 
> > What is the way you had in the mind to achieve the string<->integer 
> > conversions?
> 
> atoll() (or atoq()).

Please take a look at the reworked patch in #53437

https://bugs.php.net/patch-display.php?bug_id=53437&patch=date_patch_var3.patch&revision=latest

Serializing 64 bit integers as strings.

Regards

Anatol

> 
> cheers,
> Derick
> -- 
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php



-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to