summaryrefslogtreecommitdiff
path: root/cv.h
diff options
context:
space:
mode:
Diffstat (limited to 'cv.h')
-rw-r--r--cv.h19
1 files changed, 9 insertions, 10 deletions
diff --git a/cv.h b/cv.h
index 2675ede847..9d9c05f0b3 100644
--- a/cv.h
+++ b/cv.h
@@ -1,18 +1,17 @@
-/* $RCSfile: cv.h,v $$Revision: 4.1 $$Date: 92/08/07 18:26:42 $
+/* cv.h
*
- * Copyright (c) 1991, Larry Wall
+ * Copyright (c) 1991-1994, Larry Wall
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
- * $Log: cv.h,v $
*/
struct xpvcv {
char * xpv_pv; /* pointer to malloced string */
STRLEN xpv_cur; /* length of xp_pv as a C string */
STRLEN xpv_len; /* allocated size */
- STRLEN xof_off; /* ptr is incremented by offset */
+ IV xof_off; /* integer value */
double xnv_nv; /* numeric value, if any */
MAGIC* xmg_magic; /* magic for scalar array */
HV* xmg_stash; /* class package */
@@ -20,23 +19,23 @@ struct xpvcv {
HV * xcv_stash;
OP * xcv_start;
OP * xcv_root;
- I32 (*xcv_usersub)();
- I32 xcv_userindex;
+ void (*xcv_xsub) _((CV*));
+ ANY xcv_xsubany;
GV * xcv_gv;
GV * xcv_filegv;
long xcv_depth; /* >= 2 indicates recursive call */
AV * xcv_padlist;
- bool xcv_deleted;
+ bool xcv_oldstyle;
};
#define Nullcv Null(CV*)
#define CvSTASH(sv) ((XPVCV*)SvANY(sv))->xcv_stash
#define CvSTART(sv) ((XPVCV*)SvANY(sv))->xcv_start
#define CvROOT(sv) ((XPVCV*)SvANY(sv))->xcv_root
-#define CvUSERSUB(sv) ((XPVCV*)SvANY(sv))->xcv_usersub
-#define CvUSERINDEX(sv) ((XPVCV*)SvANY(sv))->xcv_userindex
+#define CvXSUB(sv) ((XPVCV*)SvANY(sv))->xcv_xsub
+#define CvXSUBANY(sv) ((XPVCV*)SvANY(sv))->xcv_xsubany
#define CvGV(sv) ((XPVCV*)SvANY(sv))->xcv_gv
#define CvFILEGV(sv) ((XPVCV*)SvANY(sv))->xcv_filegv
#define CvDEPTH(sv) ((XPVCV*)SvANY(sv))->xcv_depth
#define CvPADLIST(sv) ((XPVCV*)SvANY(sv))->xcv_padlist
-#define CvDELETED(sv) ((XPVCV*)SvANY(sv))->xcv_deleted
+#define CvOLDSTYLE(sv) ((XPVCV*)SvANY(sv))->xcv_oldstyle