What about: #define foo bar() n = *foo(); You would get: n = *bar()(); Which would be ok if bar() is defined as a function that returns a pointer to a function returning a (typeof (n)). Right? Obscure? --Phil Howard, KA9WGN-- <phil at ux1.cso.uiuc.edu>