strange one this: for ages this code if(strchr((char *)rp->host, '\n') != nil) { has been doing a strchr on an rp->host, which is a DN*, not by any means a string. without the cast, the compiler dutifully warns about it too. perhaps casting uchar* to char* was force of habit? i've replaced it by rp->host->name, which at least should be technically correct, but the test itself seems curious to me.