Better to define replacement function names like this: #define index strchr than like this: #define index(a,b) strchr(a,b) because the former method allows one to pass the replacement name as a function pointer. Sam Kendall {allegra,ihnp4}!wjh12!kendall Delft Consulting Corporation decvax!genrad!wjh12!kendall