From: H.Merijn Brand Date: Fri, 2 Mar 2001 18:25:26 +0000 (+0100) Subject: Re: Smoking patch 8898 for perl v5.7.0 on aix 4.3.0.0 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=6e2c8ce6fba866a92c47c38076567c2392d3f577;p=p5sagit%2Fp5-mst-13.2.git Re: Smoking patch 8898 for perl v5.7.0 on aix 4.3.0.0 Message-Id: <20010302182416.1BF4.H.M.BRAND@hccnet.nl> Casting problem. p4raw-id: //depot/perl@9024 --- diff --git a/ext/Storable/Storable.xs b/ext/Storable/Storable.xs index 197c428..62c5095 100644 --- a/ext/Storable/Storable.xs +++ b/ext/Storable/Storable.xs @@ -3994,15 +3994,18 @@ static SV *retrieve_byte(stcxt_t *cxt, char *cname) { SV *sv; int siv; + signed char tmp; TRACEME(("retrieve_byte (#%d)", cxt->tagnum)); GETMARK(siv); TRACEME(("small integer read as %d", (unsigned char) siv)); - sv = newSViv((unsigned char) siv - 128); + tmp = ((unsigned char)siv) - 128; + sv = newSViv (tmp); + SEEN(sv, cname); /* Associate this new scalar with tag "tagnum" */ - TRACEME(("byte %d", (unsigned char) siv - 128)); + TRACEME(("byte %d", tmp)); TRACEME(("ok (retrieve_byte at 0x%"UVxf")", PTR2UV(sv))); return sv;