blackhole.c
changeset 0 af501b0c1716
child 9 c3fecc82ade6
new file mode 100644
--- /dev/null
+++ b/blackhole.c
@@ -0,0 +1,30 @@
+/*
+ *     $Id: blackhole.c,v 1.1.1.1 2008-04-28 17:32:53 mbroeker Exp $
+ * $Source: /development/c/demos/blackhole.c,v $
+ */
+
+/* compile with -O0 or without optimizations or it won't crash */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+unsigned long blackhole (unsigned long i)
+{
+    /*
+     * blackhole stops after a datatype overrun
+     */
+    if ((i + 1) < i)
+        return i;
+
+    if (!(i % 10000))
+        printf ("Recursion %lu\n", i);
+
+    return blackhole (i + 1);
+}
+
+int main (void)
+{
+    printf ("MAXIMUM RECURSION DEPTH ON YOUR MACHINE: %lu\n", blackhole (0));
+
+    return EXIT_SUCCESS;
+}