cab_B_00.diff

Greg Turner gmturner007 at ameritech.net
Thu Jan 23 10:23:16 CST 2003


This fixes IE55SP2 setup (somewhat).

License: X11 / Bugroff

Changelog:

* dlls/cabinet: cabextract.c, cabinet.h
  Greg Turner <gmturner007 at ameritech.net>
- fix some problems when Extract is used more than once

--
diff -ur --minimal --exclude-from=/home/greg/bin/winetreediff_excl ../wine.vanilla/dlls/cabinet/cabextract.c ./dlls/cabinet/cabextract.c
--- ../wine.vanilla/dlls/cabinet/cabextract.c	2003-01-03 19:32:32.000000000 -0600
+++ ./dlls/cabinet/cabextract.c	2003-01-23 10:11:20.000000000 -0600
@@ -46,6 +46,8 @@
  */
 cab_UBYTE search_buf[CAB_SEARCH_SIZE];
 
+cab_decomp_state decomp_state;
+
 /* all the file IO is abstracted into these routines:
  * cabinet_(open|close|read|seek|skip|getoffset)
  * file_(open|close|write)
@@ -2768,6 +2770,8 @@
   struct cabinet *basecab, *cab, *cab1, *cab2;
   struct cab_file *filelist, *fi;
 
+  ZeroMemory(&decomp_state, sizeof(cab_decomp_state));
+
   /* has the list-mode header been seen before? */
   int viewhdr = 0;
 
diff -ur --minimal --exclude-from=/home/greg/bin/winetreediff_excl ../wine.vanilla/dlls/cabinet/cabinet.h ./dlls/cabinet/cabinet.h
--- ../wine.vanilla/dlls/cabinet/cabinet.h	2002-12-19 15:16:56.000000000 -0600
+++ ./dlls/cabinet/cabinet.h	2003-01-23 10:10:07.000000000 -0600
@@ -269,7 +269,7 @@
   cab_UBYTE flags;                     /* header flags                   */
 };
 
-struct {
+typedef struct {
   struct cab_folder *current;      /* current folder we're extracting from  */
   cab_ULONG offset;                /* uncompressed offset within folder     */
   cab_UBYTE *outpos;               /* (high level) start of data to use up  */
@@ -283,7 +283,7 @@
     struct QTMstate qtm;
     struct LZXstate lzx;
   } methods;
-} decomp_state;
+} cab_decomp_state;
 
 /* from cabextract.c */
 BOOL process_cabinet(LPCSTR cabname, LPCSTR dir, BOOL fix, BOOL lower);
-- 
gmt




More information about the wine-patches mailing list