summaryrefslogtreecommitdiff
path: root/stab.h
diff options
context:
space:
mode:
Diffstat (limited to 'stab.h')
-rw-r--r--stab.h31
1 files changed, 25 insertions, 6 deletions
diff --git a/stab.h b/stab.h
index 3025342d27..499a2a2ddc 100644
--- a/stab.h
+++ b/stab.h
@@ -1,4 +1,4 @@
-/* $RCSfile: stab.h,v $$Revision: 4.0.1.2 $$Date: 91/11/05 18:36:15 $
+/* $RCSfile: stab.h,v $$Revision: 4.0.1.3 $$Date: 92/06/08 15:33:44 $
*
* Copyright (c) 1991, Larry Wall
*
@@ -6,6 +6,10 @@
* License or the Artistic License, as specified in the README file.
*
* $Log: stab.h,v $
+ * Revision 4.0.1.3 92/06/08 15:33:44 lwall
+ * patch20: fixed confusion between a *var's real name and its effective name
+ * patch20: ($<,$>) = ... didn't work on some architectures
+ *
* Revision 4.0.1.2 91/11/05 18:36:15 lwall
* patch11: length($x) was sometimes wrong for numeric $x
*
@@ -25,7 +29,7 @@ struct stabptrs {
FCMD *stbp_form; /* format value */
ARRAY *stbp_array; /* array value */
HASH *stbp_hash; /* associative array value */
- HASH *stbp_stash; /* symbol table for this stab */
+ STAB *stbp_stab; /* effective stab, if *glob */
SUBR *stbp_sub; /* subroutine value */
int stbp_lastexpr; /* used by nothing_in_common() */
line_t stbp_line; /* line first declared at (for -w) */
@@ -56,12 +60,19 @@ HASH *stab_hash();
((STBP*)(stab->str_ptr))->stbp_hash : \
((STBP*)(hadd(stab)->str_ptr))->stbp_hash)
#endif /* Microport 2.4 hack */
-#define stab_stash(stab) (((STBP*)(stab->str_ptr))->stbp_stash)
#define stab_sub(stab) (((STBP*)(stab->str_ptr))->stbp_sub)
#define stab_lastexpr(stab) (((STBP*)(stab->str_ptr))->stbp_lastexpr)
#define stab_line(stab) (((STBP*)(stab->str_ptr))->stbp_line)
#define stab_flags(stab) (((STBP*)(stab->str_ptr))->stbp_flags)
+
+#define stab_stab(stab) (stab->str_magic->str_u.str_stab)
+#define stab_estab(stab) (((STBP*)(stab->str_ptr))->stbp_stab)
+
#define stab_name(stab) (stab->str_magic->str_ptr)
+#define stab_ename(stab) stab_name(stab_estab(stab))
+
+#define stab_stash(stab) (stab->str_magic->str_u.str_stash)
+#define stab_estash(stab) stab_stash(stab_estab(stab))
#define SF_VMAGIC 1 /* call routine to dereference STR val */
#define SF_MULTI 2 /* seen more than once */
@@ -114,10 +125,18 @@ EXT STAB *stab_index[128];
EXT unsigned short statusvalue;
EXT int delaymagic INIT(0);
-#define DM_DELAY 1
-#define DM_REUID 2
-#define DM_REGID 4
+#define DM_UID 0x003
+#define DM_RUID 0x001
+#define DM_EUID 0x002
+#define DM_GID 0x030
+#define DM_RGID 0x010
+#define DM_EGID 0x020
+#define DM_DELAY 0x100
STAB *aadd();
STAB *hadd();
STAB *fstab();
+void stabset();
+void stab_fullname();
+void stab_efullname();
+void stab_check();