PATCH: dlls/cabinet/cabextract.c and off_t

Gerald Pfeifer pfeifer at dbai.tuwien.ac.at
Sun Dec 29 16:55:27 CST 2002


On Fri, 27 Dec 2002, Greg Turner wrote:
>> Here we use off_t (which requires sys/types.h), that's why I wrote
>> "If we really want to use off_t in this file.  Should this simply
>> become cab_off_t?
> Bingo. [...] So, yes, this is most certainly an error on my part, and
> your fix is likely the correct one.  Out of curiosity, what is your
> platform?  I am slightly surprised that off_t compiles at all without
> sys/types.h, even on linux...

I was seeing this on FreeBSD; on GNU/Linux you probably don't see that
because sys/types.h and others are implicitly #included by lots of other
headers (which is somewhat non-standard, though not forbidden).

> Would you be so kind as to change that to cab_off_t, and then run the
> compile again to make sure that we've really eliminated all the off_t's
> in there?  Let me know your results and I will submit a patch including
> this, and the renaming I discussed before.

It works fine. I am submitting this to wine-patches, so that Alexandre
can unbreak the build as soon as possible, though of course of full fix
like the one you mentioned would be better. ;-)

Thanks for working on this with me!

Gerald

Index: cabextract.c
===================================================================
RCS file: /home/wine/wine/dlls/cabinet/cabextract.c,v
retrieving revision 1.1
diff -u -3 -p -r1.1 cabextract.c
--- cabextract.c	19 Dec 2002 21:16:56 -0000	1.1
+++ cabextract.c	29 Dec 2002 22:52:16 -0000
@@ -472,7 +472,7 @@ BOOL cabinet_read_entries(struct cabinet
     }

     fol->cab[0]     = cab;
-    fol->offset[0]  = base_offset + (off_t) EndGetI32(buf+cffold_DataOffset);
+    fol->offset[0]  = base_offset + (cab_off_t) EndGetI32(buf+cffold_DataOffset);
     fol->num_blocks = EndGetI16(buf+cffold_NumBlocks);
     fol->comp_type  = EndGetI16(buf+cffold_CompType);




More information about the wine-patches mailing list