Fix 4G file transfer on 32 bit.

ptp_usb_senddata will store file size in a uint64_t,
but ptp_write_func casts this down to an unsigned long,
which is 32 bits on i386.

To fix, break up transfers into pieces less than
ULONG_MAX rounded down by packet size.
3 files changed