The code is not changed much from the GTK skeleton code. The big difference is that DoOperation() is now a void function. The function performs the appropriate calculation, then attempts to access the memory location at the floating-point representation of the answer, then we handle SIGSEGV to find the answer. There is also a SIGFPE handler to catch divide-by-zero. I LOLed