I'd much prefer C users not use long at all. What's wrong with size_t and uint32_t and uint64_t?
An extra #include and more typing?
Plus, all the C89 users are out of luck...
Unless they don't provide the corresponding type natively at all (which can be the case for some 16-bit platforms and 64-bit). But then you have a bigger problem anyway.