summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorAbhijit Menon-Sen <ams@wiw.org>2005-05-23 16:58:46 +0000
committerAbhijit Menon-Sen <ams@wiw.org>2005-05-23 16:58:46 +0000
commit0bb78401313e0347fd894143d813c3036c2eccb4 (patch)
treefc9a94ebe0079b24d723a46527f1189eed3e900f /ext
parentd5748a18f65fc6a32038bbde36983f9fd709d1a0 (diff)
downloadperl-0bb78401313e0347fd894143d813c3036c2eccb4.tar.gz
Assorted 2.15 fixes.
p4raw-id: //depot/perl@24556
Diffstat (limited to 'ext')
-rw-r--r--ext/Storable/ChangeLog6
-rw-r--r--ext/Storable/Storable.xs15
2 files changed, 17 insertions, 4 deletions
diff --git a/ext/Storable/ChangeLog b/ext/Storable/ChangeLog
index 64b2f84256..a182162ba8 100644
--- a/ext/Storable/ChangeLog
+++ b/ext/Storable/ChangeLog
@@ -1,3 +1,9 @@
+Mon May 23 22:48:49 IST 2005 Abhijit Menon-Sen <ams@wiw.org>
+
+ Version 2.15
+
+ Minor changes to address a couple of compile problems.
+
Mon Apr 25 07:29:14 IST 2005 Abhijit Menon-Sen <ams@wiw.org>
Version 2.14
diff --git a/ext/Storable/Storable.xs b/ext/Storable/Storable.xs
index b4ff829513..e5db8f6107 100644
--- a/ext/Storable/Storable.xs
+++ b/ext/Storable/Storable.xs
@@ -86,6 +86,13 @@ typedef double NV; /* Older perls lack the NV type */
#endif
#endif
+#ifndef SvRV_set
+#define SvRV_set(sv, val) \
+ STMT_START { \
+ assert(SvTYPE(sv) >= SVt_RV); \
+ (((XRV*)SvANY(sv))->xrv_rv = (val)); \
+ } STMT_END
+#endif
#ifndef PERL_UNUSED_DECL
# ifdef HASATTRIBUTE
@@ -108,10 +115,10 @@ typedef double NV; /* Older perls lack the NV type */
#endif
#ifndef HvRITER_set
-# define HvRITER_set(hv,r) (*HvRITER(hv) = r)
+# define HvRITER_set(hv,r) (HvRITER(hv) = r)
#endif
#ifndef HvEITER_set
-# define HvEITER_set(hv,r) (*HvEITER(hv) = r)
+# define HvEITER_set(hv,r) (HvEITER(hv) = r)
#endif
#ifndef HvRITER_get
@@ -2460,7 +2467,7 @@ static int store_hash(pTHX_ stcxt_t *cxt, HV *hv)
*/
for (i = 0; i < len; i++) {
- char *key;
+ char *key = 0;
I32 len;
unsigned char flags;
#ifdef HV_ITERNEXT_WANTPLACEHOLDERS
@@ -3017,7 +3024,7 @@ static int store_hook(
failure, whereas the existing code assumes that it can
safely store a tag zero. So for ptr_tables we store tag+1
*/
- if (fake_tag = ptr_table_fetch(cxt->pseen, xsv))
+ if ((fake_tag = ptr_table_fetch(cxt->pseen, xsv)))
goto sv_seen; /* Avoid moving code too far to the right */
#else
if ((svh = hv_fetch(cxt->hseen, (char *) &xsv, sizeof(xsv), FALSE)))