One possible minor issue with this patch: if a C++ library based on APR uses apr_off_t in its API, I believe that changing apr_off_t from a long to an int changes the ABI of that library, because of the name mangling stuff.
I don't know of any C++ libraries based on APR, and fixing the incompatibility with Perl is probably far more important anyway. Ignore it? We could fudge apr_off_t to still be a long on platforms where it was already or even on all platforms with a 32-bit long if anyone really cares. It might be wise anyway... could compilers specify different structure padding/alignment/calling conventions for int and long even though they are the same size? Hmmm... joe