diff options
author | Stephen McCamant <smcc@mit.edu> | 1998-06-27 11:38:19 -0500 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1998-06-28 21:21:22 +0000 |
commit | ea7c11a37de2088ba174a077e567a01d0e73d0ca (patch) | |
tree | 7d6bec3acf2221c3187117e70f92953a62d0e099 | |
parent | 821b33a5de9c8f8170754d88edfcb4cdcdededf7 (diff) | |
download | perl-ea7c11a37de2088ba174a077e567a01d0e73d0ca.tar.gz |
IV changes for long long (was Re: 5.004_68 on its way to the CPAN)
Message-Id: <m0yq2fr-000EalC@alias-2.pr.mcs.net>
p4raw-id: //depot/perl@1253
-rw-r--r-- | perlvars.h | 2 | ||||
-rw-r--r-- | sv.c | 22 |
2 files changed, 12 insertions, 12 deletions
diff --git a/perlvars.h b/perlvars.h index 6b162794f8..115ec5a864 100644 --- a/perlvars.h +++ b/perlvars.h @@ -60,7 +60,7 @@ PERLVARI(Gsh_path, char *, SH_PATH)/* full path of shell */ PERLVAR(Gsighandlerp, Sighandler_t) PERLVAR(Gxiv_arenaroot, XPV*) /* list of allocated xiv areas */ -PERLVAR(Gxiv_root, IV **) /* free xiv list--shared by interpreters */ +PERLVAR(Gxiv_root, IV *) /* free xiv list--shared by interpreters */ PERLVAR(Gxnv_root, double *) /* free xnv list--shared by interpreters */ PERLVAR(Gxrv_root, XRV *) /* free xrv list--shared by interpreters */ PERLVAR(Gxpv_root, XPV *) /* free xpv list--shared by interpreters */ @@ -416,13 +416,13 @@ sv_free_arenas(void) STATIC XPVIV* new_xiv(void) { - IV** xiv; + IV* xiv; if (xiv_root) { xiv = xiv_root; /* * See comment in more_xiv() -- RAM. */ - xiv_root = (IV**)*xiv; + xiv_root = *(IV**)xiv; return (XPVIV*)((char*)xiv - sizeof(XPV)); } return more_xiv(); @@ -431,30 +431,30 @@ new_xiv(void) STATIC void del_xiv(XPVIV *p) { - IV** xiv = (IV**)((char*)(p) + sizeof(XPV)); - *xiv = (IV *)xiv_root; + IV* xiv = (IV*)((char*)(p) + sizeof(XPV)); + *(IV**)xiv = xiv_root; xiv_root = xiv; } STATIC XPVIV* more_xiv(void) { - register IV** xiv; - register IV** xivend; + register IV* xiv; + register IV* xivend; XPV* ptr; New(705, ptr, 1008/sizeof(XPV), XPV); ptr->xpv_pv = (char*)xiv_arenaroot; /* linked list of xiv arenas */ xiv_arenaroot = ptr; /* to keep Purify happy */ - xiv = (IV**) ptr; - xivend = &xiv[1008 / sizeof(IV *) - 1]; - xiv += (sizeof(XPV) - 1) / sizeof(IV *) + 1; /* fudge by size of XPV */ + xiv = (IV*) ptr; + xivend = &xiv[1008 / sizeof(IV) - 1]; + xiv += (sizeof(XPV) - 1) / sizeof(IV) + 1; /* fudge by size of XPV */ xiv_root = xiv; while (xiv < xivend) { - *xiv = (IV *)(xiv + 1); + *(IV**)xiv = (IV *)(xiv + 1); xiv++; } - *xiv = 0; + *(IV**)xiv = 0; return new_xiv(); } |