The UARTConfig struct was declared on the stack, and hence was not available when the interrupt routine was called.
Once I made it static, everything started working. Making it global would work too.
Sorry for bugging everyone with a stupid problem
Craig