int row;
if(row==NSNotFound) then ....
In the native architecture of my Intel Mac this code would work fine, but in the 32/64 bit Universal version it didn't. This was because NSNotFound is defined as the largest possible long datatype rather then integer. I guess this is the difference between the 32 and 64 bit versions. The upshot of this was that I recoded all my "int" datatypes to NSUInteger, making the code a lot more generic in any case. Something to bear in mind I guess - try and use the NS datatypes rather then the simple C versions.