Commit Graph

177 Commits

Author SHA1 Message Date
Alexandre Julliard 682d9a2929 cabinet: Create one temp file per folder and avoid an extra copy of the data. 2011-02-17 16:48:19 +01:00
Alexandre Julliard ea22b17065 cabinet: Store the data block headers in a memory list instead of on-disk.
Compute the checksums only when writing to the final file.
2011-02-16 12:17:48 +01:00
Alexandre Julliard afae86aa1e cabinet: Rewrite the cabinet header output code, and write everything to disk in one step. 2011-02-15 20:08:44 +01:00
Alexandre Julliard 28fce46de7 cabinet: Store the CCAB data as soon as it is available.
Also add a helper function for the cabinet header size.
2011-02-15 16:51:29 +01:00
Alexandre Julliard 5dc4986dab cabinet: Add helper functions for temp file manipulations. 2011-02-15 16:51:29 +01:00
Alexandre Julliard 21aab68fbb cabinet: Store files in a list in memory instead of in a temp file. 2011-02-15 16:51:20 +01:00
Alexandre Julliard f6ebe3b8b2 cabinet: Store folders in a list in memory instead of in a temp file. 2011-02-14 20:05:46 +01:00
Alexandre Julliard 7a9b389465 cabinet: Move internal FDI definitions to fdi.c. 2011-02-04 15:25:31 +01:00
Alexandre Julliard 05702c146e cabinet: Call FDI function pointers explicitly instead of hiding them inside macros. 2011-02-04 15:25:31 +01:00
Alexandre Julliard 396c9fca21 cabinet: Pass an FDI pointer to internal functions instead of a handle. 2011-02-04 15:25:29 +01:00
Alexandre Julliard 826ccc1684 cabinet: Add a helper function to set error code in FDI. 2011-02-04 15:25:01 +01:00
Alexandre Julliard a71fbe16d9 cabinet: Move the internal FCI structure to fci.c. 2011-02-04 11:35:46 +01:00
Alexandre Julliard b18b596621 cabinet: Pass an FCI pointer to internal functions instead of a handle. 2011-02-04 11:35:41 +01:00
Alexandre Julliard 9aa0e35ecc cabinet: Call FCI function pointers explicitly instead of hiding them inside macros. 2011-02-04 11:27:37 +01:00
Alexandre Julliard e30b19f115 cabinet: Replace the fci_set_error macro by a proper function. 2011-02-04 11:20:12 +01:00
Alexandre Julliard 09fbe972d8 cabinet: Use constants instead of hard-coded numbers for file open flags. 2011-02-03 20:02:10 +01:00
Marko Nikolic 8d9788147c cabinet/tests: Removed sign comparison warnings. 2010-10-04 16:19:22 +02:00
Alexandre Julliard 9a39cb94e4 cabinet/tests: Make some variables static. 2010-10-01 13:38:58 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02:00
Mikhail Maroukhine 09dca97fc3 cabinet: Fix compiler warning with flag -Wcast-qual. 2010-03-29 12:12:07 +02:00
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
Alexandre Julliard 6164ce2d82 makefiles: Use the standard C_SRCS variable as the list of test files.
This enables it to be auto-updated by make_makefiles.
2010-02-22 10:47:11 +01:00
Alexandre Julliard 91502b0634 cabinet/tests: Fix accesses to an invalid pointer. 2010-01-29 13:29:21 +01:00
James Hawkins 300cc0fea1 cabinet: Fix several file list leaks in the extract tests. 2010-01-07 17:59:58 +01:00
Rob Shearman eae5b071c2 cabinet: Fix memory leaks on failure in FDICopy. 2009-12-14 16:14:39 +01:00
Marcus Meissner 87118d00fe cabinet: Fixed free_decompression_temps/_mem , handle NULL (Coverity). 2009-10-19 11:43:37 +02:00
Nicolas Le Cam 387e415fdc cabinet/tests: Split an incorrect test in two valid ones. 2009-06-29 12:26:34 +02:00
Nicolas Le Cam 027bc8100c cabinet/tests: Avoid use of lstrlenA when not needed. 2009-06-29 12:26:27 +02:00
Andrew Talbot 9ca199a87d cabinet: Constify a variable. 2009-05-26 14:25:12 +02:00
Andrew Talbot 9a079a64e6 cabinet: Declare a function static. 2009-02-09 12:22:49 +01:00
Andrew Talbot 61292cfc61 cabinet: Declare a function static. 2009-02-05 13:13:43 +01:00
Alexandre Julliard 51c7fe5fc7 cabinet: Don't try to copy data from the file if we don't even have a data buffer. 2009-01-15 12:03:08 +01:00
Michael Stefaniuc f516cab017 include: Change to LONG/ULONG in fdi.h for Win64 compatibility. 2009-01-14 12:21:20 +01:00
Michael Stefaniuc 602f42c25f include: Change to LONG/ULONG in fci.h for Win64 compatibility. 2009-01-14 12:21:13 +01:00
Alexandre Julliard 98f89d460d cabinet: Add CDECL to the cabinet callback functions. 2009-01-05 12:39:02 +01:00
Alexandre Julliard 235ae03597 cabinet/tests: Add CDECL to the cabinet callback functions. 2009-01-03 20:12:39 +01:00
Andrew Talbot 184dbe7e63 cabinet: Declare a function static. 2009-01-02 14:27:43 +01:00
Michael Stefaniuc e4db17f268 cabinet: Don't cast the return value of PF[CD]I_ALLOC; those are void pointers. 2009-01-02 11:53:48 +01:00
Jacek Caban edda4637b4 cabinet: Make sure that parent directories exist when creating a new directory. 2008-12-29 15:29:28 +01:00
Francois Gouget 897af57deb cabinet/tests: Make CopyProgress() static. 2008-12-12 11:41:45 +01:00
Alexandre Julliard 16fb8fd843 cabinet: Don't allocate a huge buffer on the stack. 2008-12-11 12:24:33 +01:00
Ricardo Filipe 1a12aace57 cabinet: Fix dead stores (llvm/clang). 2008-11-18 13:04:59 +01:00
Michael Stefaniuc bfe6fe678a cabinet: Do not cast NULL. 2008-11-03 13:38:43 +01:00
Rob Shearman 79ad9cbcdd cabinet: Check buffer size before copying in NONEfdi_decomp.
Check that the data will fit into the fixed sized buffer CAB(outbuf)
and return an error if not before copying.
2008-10-01 11:42:36 -05:00
Juan Lang c479ea631f cabinet: Use helper function to remove duplicate code. 2008-09-10 10:40:33 +02:00
Juan Lang 70cfa0c36e cabinet: Use helper function to remove duplicate code. 2008-09-10 10:40:27 +02:00
Hans Leidekker 42506c94f2 cabinet: Fix a memory leak. 2008-07-21 12:21:17 +02:00
Alexandre Julliard c1add0ff51 cabinet: Always use INT_PTR for handles. 2008-06-18 20:48:54 +02:00
Dmitry Timoshkov 5ddd35f493 cabinet: Fix the regression caused by 4046075462. 2008-05-19 13:33:41 +02:00