I'm going to have to redefine 'user4' as an intptr_t or something here, as this will cause problems as-is on 64-bit systems. Perhaps an explicit cast here would make this clearer?