-/* $RCSfile: a2p.h,v $$Revision: 4.1 $$Date: 92/08/07 18:29:09 $
+/* a2p.h
*
- * Copyright (c) 1991-2002, Larry Wall
+ * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ * 2000, 2001, 2002, by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
- *
- * $Log: a2p.h,v $
*/
#define VOIDUSED 1
# include "../config.h"
#endif
-#if defined(__STDC__) || defined(vax11c) || defined(_AIX) || defined(__stdc__) || defined(__cplusplus)
+#if defined(__STDC__) || defined(_AIX) || defined(__stdc__) || defined(__cplusplus)
# define STANDARD_C 1
#endif
#endif /* USE_NEXT_CTYPE */
#define MEM_SIZE Size_t
+#ifdef PERL_MEM_LOG
+/* Blindly copied from ../perl.h. -- AD 2/2006. */
+/* Configure gets this right but the UTS compiler gets it wrong.
+ -- Hal Morris <hom00@utsglobal.com> */
+# ifdef UTS
+# undef UVTYPE
+# define UVTYPE unsigned
+# endif
+
+ typedef IVTYPE IV;
+ typedef UVTYPE UV;
+#endif
#ifndef STANDARD_C
Malloc_t malloc (MEM_SIZE nbytes);
#endif
#endif /* ! STANDARD_C */
+#ifdef __cplusplus
+# define PERL_EXPORT_C extern "C"
+#else
+# define PERL_EXPORT_C extern
+#endif
+
#ifdef VMS
# include "handy.h"
#else
# include "../handy.h"
#endif
-#undef Nullfp
-#define Nullfp Null(FILE*)
-
#define Nullop 0
#define OPROG 1
#define OSTAR 88
#ifdef DOINIT
-char *opname[] = {
+const char *opname[] = {
"0",
"PROG",
"JUNK",
"89"
};
#else
-extern char *opname[];
+extern const char *opname[];
#endif
EXT int mop INIT(1);
/* A string is TRUE if not "" or "0". */
#define True(val) (tmps = (val), (*tmps && !(*tmps == '0' && !tmps[1])))
-EXT char *Yes INIT("1");
-EXT char *No INIT("");
-
-#define str_true(str) (Str = (str), (Str->str_pok ? True(Str->str_ptr) : (Str->str_nok ? (Str->str_nval != 0.0) : 0 )))
+EXT const char *Yes INIT("1");
+EXT const char *No INIT("");
-#define str_peek(str) (Str = (str), (Str->str_pok ? Str->str_ptr : (Str->str_nok ? (sprintf(buf,"num(%"NVgf")",Str->str_nval),buf) : "" )))
#define str_get(str) (Str = (str), (Str->str_pok ? Str->str_ptr : str_2ptr(Str)))
-#define str_gnum(str) (Str = (str), (Str->str_nok ? Str->str_nval : str_2num(Str)))
EXT STR *Str;
#define GROWSTR(pp,lp,len) if (*(lp) < (len)) growstr(pp,lp,len)
int rememberargs ( int arg );
char * scannum ( char *s );
char * scanpat ( char *s );
-int string ( char *ptr, int len );
-void yyerror ( char *s );
+int string ( const char *ptr, int len );
+void yyerror ( const char *s );
int yylex ( void );
EXT int line INIT(0);
EXT char buf[2048];
EXT char *bufptr INIT(buf);
-EXT STR *linestr INIT(Nullstr);
+EXT STR *linestr INIT(NULL);
EXT char tokenbuf[2048];
EXT int expectterm INIT(TRUE);
# endif
#endif
-EXT STR *freestrroot INIT(Nullstr);
+EXT STR *freestrroot INIT(NULL);
EXT STR str_no;
EXT STR str_yes;
EXT bool nomemok INIT(FALSE);
EXT char const_FS INIT(0);
-EXT char *namelist INIT(Nullch);
+EXT char *namelist INIT(NULL);
EXT char fswitch INIT(0);
EXT bool old_awk INIT(0);