openbsd-ports/archivers/cabextract/patches/patch-mspack_cabd_c
2010-07-31 00:30:27 +00:00

22 lines
841 B
Plaintext

$OpenBSD: patch-mspack_cabd_c,v 1.2 2010/07/31 00:30:27 kevlo Exp $
--- mspack/cabd.c.orig Tue Jul 20 00:39:26 2010
+++ mspack/cabd.c Fri Jul 30 16:20:40 2010
@@ -688,7 +688,7 @@ static int cabd_find(struct mscab_decompressor_p *this
/* if off_t is only 32-bits signed, there will be overflow problems
* with cabinets reaching past the 2GB barrier (or just claiming to)
*/
-#ifndef LARGEFILE_SUPPORT
+ if (sizeof(off_t) <= sizeof(uint32_t)) {
if (cablen_u32 & ~0x7FFFFFFF) {
sys->message(fh, largefile_msg);
cablen_u32 = 0x7FFFFFFF;
@@ -697,7 +697,7 @@ static int cabd_find(struct mscab_decompressor_p *this
sys->message(fh, largefile_msg);
foffset_u32 = 0x7FFFFFFF;
}
-#endif
+ }
/* copy the unsigned 32-bit offsets to signed off_t variables */
foffset = (off_t) foffset_u32;
cablen = (off_t) cablen_u32;