summaryrefslogtreecommitdiff
path: root/source3/ubiqx/ubi_null.h
diff options
context:
space:
mode:
Diffstat (limited to 'source3/ubiqx/ubi_null.h')
-rw-r--r--source3/ubiqx/ubi_null.h92
1 files changed, 92 insertions, 0 deletions
diff --git a/source3/ubiqx/ubi_null.h b/source3/ubiqx/ubi_null.h
new file mode 100644
index 0000000000..c5cab418ac
--- /dev/null
+++ b/source3/ubiqx/ubi_null.h
@@ -0,0 +1,92 @@
+#ifndef UBI_NULL_H
+#define UBI_NULL_H
+/* ========================================================================== **
+ * ubi_null.h
+ *
+ * Copyright (C) 1998 by Christopher R. Hertel
+ *
+ * Email: crh@ubiqx.mn.org
+ * -------------------------------------------------------------------------- **
+ * This header provides declarations and data types used internally by the
+ * ubiqx modules. It is not intended to be included elsewhere.
+ * -------------------------------------------------------------------------- **
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * -------------------------------------------------------------------------- **
+ *
+ * You don't need this in your code. It is used by the ubi_*.c files.
+ * At present, its only purpose is to provide a definition of NULL.
+ * Read on...
+ *
+ * -------------------------------------------------------------------------- **
+ *
+ * Log: ubi_null.h,v
+ * Revision 0.0 1998/05/20 04:38:38 crh
+ * Initial Revision.
+ *
+ * ========================================================================== **
+ */
+
+/* -------------------------------------------------------------------------- **
+ * Looking for NULL.
+ *
+ * The core ubiqx modules (all those beginning with 'ubi_') rely on very
+ * little from the outside world. One exception is that we need a
+ * defintion for NULL. This has turned out to be something of a problem,
+ * as NULL is NOT always defined in the same place on different systems.
+ *
+ * Ahh... standards...
+ *
+ * K&R 2nd Ed. (pg 102) says NULL should be in <stdio.h>. I've heard
+ * that it is in <locale.h> on some systems. I've also seen it in
+ * <stddef.h> and <stdlib.h>. In most cases it's defined in multiple
+ * places. We'll try several of them. If none of these work on your
+ * system, please send E'mail and let me know where you get your NULL!
+ *
+ * The purpose of the mess below, then, is simply to supply a definition
+ * of NULL to the ubi_*.c files. Keep in mind that C compilers (all
+ * those of which I'm aware) will allow you to define a constant on the
+ * command line, eg.: -DNULL=((void *)0).
+ *
+ * Also, 99.9% of the time, NULL is zero. I have been informed of at
+ * least one exception.
+ *
+ * crh; may 1998
+ */
+
+#ifndef NULL
+#include <stddef.h>
+#endif
+
+#ifndef NULL
+#include <stdlib.h>
+#endif
+
+#ifndef NULL
+#include <stdio.h>
+#endif
+
+#ifndef NULL
+#include <locale.h>
+#endif
+
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+/* ================================ The End ================================= */
+#endif /* UBI_NULL_H */
+