cas value not being converted to perl correctly on 32bit system
Migrated from rt.cpan.org #65381 (status was 'open')
Requestors:
Attachments:
From [email protected] on 2011-02-02 20:05:27 :
When retrieving the cas value on a 32 bit machine, the value is being incorrectly converted to a perl uv. Attached is a patch to convert it to a perl string after a gets() and then back to a long long when calling cas(). Thank you for your work on this module!
From [email protected] on 2011-02-02 20:53:20 :
On Wed Feb 02 15:05:27 2011, JGOLDBERG wrote:
Attached is a patch to convert it to a perl string after a gets() and then back to a long long when calling cas().
Thanks for the report, looks valid. Patch is also good (would be perfect if test case is also included). However, since the original conversion to SvUV is wrong, this is kinda strange now that we get CAS value over text protocol, then convert it to an integer, then again to string. Shouldn't the fix be just to pass CAS as a string to Perl, without intermediate ull representation? This would also have an advantage that CAS would become completely opaque. I really appreciate if you work on such version of the fix :).