fix 32-bit machine with L only giving 4 bytes