/*
* $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;
}