-/* $Header: stab.h,v 3.0.1.4 90/10/16 10:33:08 lwall Locked $
+/* $RCSfile: stab.h,v $$Revision: 4.0.1.1 $$Date: 91/06/07 11:56:35 $
*
- * Copyright (c) 1989, Larry Wall
+ * Copyright (c) 1991, Larry Wall
*
- * You may distribute under the terms of the GNU General Public License
- * as specified in the README file that comes with the perl 3.0 kit.
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
*
* $Log: stab.h,v $
- * Revision 3.0.1.4 90/10/16 10:33:08 lwall
- * patch29: *foo now prints as *package'foo
- * patch29: package behavior is now more consistent
+ * Revision 4.0.1.1 91/06/07 11:56:35 lwall
+ * patch4: new copyright notice
+ * patch4: length($`), length($&), length($') now optimized to avoid string copy
*
- * Revision 3.0.1.3 90/08/09 05:18:42 lwall
- * patch19: Added support for linked-in C subroutines
- *
- * Revision 3.0.1.2 90/03/12 17:00:43 lwall
- * patch13: did some ndir straightening up for Xenix
- *
- * Revision 3.0.1.1 89/12/21 20:19:53 lwall
- * patch7: in stab.h, added some CRIPPLED_CC support for Microport
- *
- * Revision 3.0 89/10/18 15:23:30 lwall
- * 3.0 baseline
+ * Revision 4.0 91/03/20 01:39:49 lwall
+ * 4.0 baseline.
*
*/
struct stio {
FILE *ifp; /* ifp and ofp are normally the same */
FILE *ofp; /* but sockets need separate streams */
-#ifdef READDIR
+#ifdef HAS_READDIR
DIR *dirp; /* for opendir, readdir, etc */
#endif
long lines; /* $. */
#define Nullstab Null(STAB*)
+STRLEN stab_len();
+
#define STAB_STR(s) (tmpstab = (s), stab_flags(tmpstab) & SF_VMAGIC ? stab_str(stab_val(tmpstab)->str_magic) : stab_val(tmpstab))
+#define STAB_LEN(s) (tmpstab = (s), stab_flags(tmpstab) & SF_VMAGIC ? stab_len(stab_val(tmpstab)->str_magic) : stab_val(tmpstab)->str_cur)
#define STAB_GET(s) (tmpstab = (s), str_get(stab_flags(tmpstab) & SF_VMAGIC ? stab_str(tmpstab->str_magic) : stab_val(tmpstab)))
#define STAB_GNUM(s) (tmpstab = (s), str_gnum(stab_flags(tmpstab) & SF_VMAGIC ? stab_str(tmpstab->str_magic) : stab_val(tmpstab)))