Re: Smoking patch 8898 for perl v5.7.0 on aix 4.3.0.0
H.Merijn Brand [Fri, 2 Mar 2001 18:25:26 +0000 (19:25 +0100)]
Message-Id: <20010302182416.1BF4.H.M.BRAND@hccnet.nl>

Casting problem.

p4raw-id: //depot/perl@9024

ext/Storable/Storable.xs

index 197c428..62c5095 100644 (file)
@@ -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;