summaryrefslogtreecommitdiff
path: root/handy.h
diff options
context:
space:
mode:
authorPerl 5 Porters <perl5-porters@africa.nicoh.com>1996-07-10 23:25:26 +0000
committerCharles Bailey <bailey@genetics.upenn.edu>1996-07-10 23:25:26 +0000
commit641d3f0be2e03aae525166b79ace4362378974b7 (patch)
tree72dd0fe12c4167f650fc4df2cffabdd58e95c867 /handy.h
parent1090b3e7928c8381aa26808d3dc44b7f83ecc9f4 (diff)
downloadperl-641d3f0be2e03aae525166b79ace4362378974b7.tar.gz
perl 5.003_01: handy.h
Move up definitions of TRUE/FALSE Include bool typedef on NeXT Add calloc prototypes
Diffstat (limited to 'handy.h')
-rw-r--r--handy.h33
1 files changed, 24 insertions, 9 deletions
diff --git a/handy.h b/handy.h
index aa4107eca5..76d9a4f694 100644
--- a/handy.h
+++ b/handy.h
@@ -23,6 +23,15 @@
#define Nullfp Null(FILE*)
#define Nullsv Null(SV*)
+#ifdef TRUE
+#undef TRUE
+#endif
+#ifdef FALSE
+#undef FALSE
+#endif
+#define TRUE (1)
+#define FALSE (0)
+
/* bool is built-in for g++-2.6.3, which might be used for an extension.
If the extension includes <_G_config.h> before this file then
_G_HAVE_BOOL will be properly set. If, however, the extension includes
@@ -37,6 +46,19 @@
# endif
#endif
+/* The NeXT dynamic loader headers will not build with the bool macro
+ So declare them now to clear confusion.
+*/
+#ifdef NeXT
+# undef FALSE
+# undef TRUE
+ typedef enum bool { FALSE = 0, TRUE = 1 } bool;
+# define ENUM_BOOL 1
+# ifndef HAS_BOOL
+# define HAS_BOOL 1
+# endif /* !HAS_BOOL */
+#endif /* NeXT */
+
#ifndef HAS_BOOL
# ifdef UTS
# define bool int
@@ -45,15 +67,6 @@
# endif
#endif
-#ifdef TRUE
-#undef TRUE
-#endif
-#ifdef FALSE
-#undef FALSE
-#endif
-#define TRUE (1)
-#define FALSE (0)
-
typedef char I8;
typedef unsigned char U8;
@@ -133,6 +146,7 @@ typedef U16 line_t;
char *safemalloc _((MEM_SIZE));
char *saferealloc _((char *, MEM_SIZE));
void safefree _((char *));
+char *safecalloc _((MEM_SIZE, MEM_SIZE));
#endif
#ifndef MSDOS
#define New(x,v,n,t) (v = (t*)safemalloc((MEM_SIZE)((n) * sizeof(t))))
@@ -155,6 +169,7 @@ void safefree _((char *));
char *safexmalloc();
char *safexrealloc();
void safexfree();
+char *safexcalloc();
#define New(x,v,n,t) (v = (t*)safexmalloc(x,(MEM_SIZE)((n) * sizeof(t))))
#define Newc(x,v,n,t,c) (v = (c*)safexmalloc(x,(MEM_SIZE)((n) * sizeof(t))))
#define Newz(x,v,n,t) (v = (t*)safexmalloc(x,(MEM_SIZE)((n) * sizeof(t)))), \