Just to hijack the thread slightly, what's the difference (if any) between return i and exit(i) when used within main()?
BTW using return instead of exit doesn't appear to prevent functions registered with atexit() from being called, although I don't know if this is gcc-specific behaviour. John
