Commit Graph

1806 Commits

Author SHA1 Message Date
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
Vincent Povirk
d420a858da ole32: Add error checking to StorageBaseImpl_CreateStorage. 2010-02-15 12:20:01 +01:00
Vincent Povirk
1fab6e3515 ole32: Add error checking to StorageBaseImpl_CreateStream. 2010-02-15 12:20:00 +01:00
Vincent Povirk
35b800dc92 ole32: Only warn about storage share mode once. 2010-02-12 11:54:36 +01:00
Vincent Povirk
da250c9afe ole32: IStorage_Revert has no effect for non-transacted storages. 2010-01-25 12:58:22 +01:00
Rob Shearman
c3af2dd752 ole32: Rearrange declarations in itemmoniker.c to avoid unnecessary forward declarations. 2010-01-22 12:18:46 +01:00
Andrew Eikum
7fe78c14e9 ole32: Downgrade StgIsStorageFile debug info from WARN to TRACE. 2010-01-07 09:25:51 +01:00
Vincent Povirk
0debd2fef4 ole32: Remove fixme for transacted mode. 2010-01-04 11:41:28 +01:00
Alexandre Julliard
2bc9ba758e ole32: Fix some pointer cast warnings on 64-bit. 2009-12-31 12:12:16 +01:00
Alexander Kochetkov
56bc0515c2 ole32/storage32: Fix return value for invalid access mode in OpenStream. 2009-12-30 16:13:57 +01:00
Rob Shearman
88219db8ab ole32: Handle SetClipboardData failing in OLE clipboard functions. 2009-12-30 13:36:50 +01:00
Rob Shearman
36bfaea96d ole32: Fix stream reference leak in test_ReadClassStm. 2009-12-30 13:36:46 +01:00
Rob Shearman
b7d86b54d9 ole32: Release the data object and free the cached enum data upon OleUninitialize. 2009-12-30 13:36:42 +01:00
Vincent Povirk
ffc4a49bcb ole32: Always allow changes to read-only transacted storages.
The only time the write permissions of transacted storages matter is when
committing.
2009-12-28 11:54:49 +01:00
Paul Vriens
25d15c68dc ole32/tests: Fix a test failure on several platforms. 2009-12-22 13:48:24 +01:00
Vincent Povirk
b3511ebb70 ole32: Reread the stream entry after setting the size in StreamWriteAt.
In simple mode, StreamWriteAt would assume that StreamSetSize uses the size
it asks for, but in some cases the size would be pushed above the small block
limit. StreamWriteAt would then attempt to write using a small block chain,
even though a big block chain was created.
2009-12-21 15:01:24 +01:00
Vincent Povirk
fc50ff07d6 ole32: Store the most recent item name in IEnumSTATSTG instead of a stack. 2009-12-21 15:01:24 +01:00
Vincent Povirk
4492850200 ole32: Make IEnumSTATSTG functions fail when the parent is invalid. 2009-12-21 15:01:23 +01:00
Vincent Povirk
2010e0fb28 ole32: Add some tests for IEnumSTATSTG. 2009-12-21 15:01:23 +01:00
Vincent Povirk
4f0dfb51b3 ole32: Fix memory leaks in the storage test. 2009-12-18 11:44:04 +01:00
Vincent Povirk
5d9fd1b716 ole32: Compare upper character values directly in entryNameCmp.
The sort function used by native is not entirely consistent with lstrcmpiW,
even on Windows.
2009-12-18 11:43:34 +01:00
Juan Lang
776ee9ee81 ole32: Fix a memory leak. 2009-12-18 11:39:08 +01:00
Vincent Povirk
393c5af205 ole32: Add a cache for block chain streams in StorageImpl. 2009-12-16 12:24:27 +01:00
Huw Davies
c6d4df8b1c ole32: Fix several memory leaks in the tests.
Found by Valgrind.
2009-12-16 12:24:19 +01:00
Vincent Povirk
3ac34f7416 ole32: Properly free temporary objects when StorageBaseImpl_CopyTo fails. 2009-12-14 12:06:35 +01:00
Vincent Povirk
6afe24c38d ole32: Remove an unnecessary special case in StorageBaseImpl_CopyTo.
Opening a storage when it has already been opened now fails with
STG_E_ACCESSDENIED. If we attempt to copy a storage to its own child, this
will happen during the copy.
2009-12-14 12:06:25 +01:00
Vincent Povirk
0ad48797f8 ole32: Fix a memory leak in StorageBaseImpl_CopyTo.
Spotted by valgrind.
2009-12-14 12:06:17 +01:00
Vincent Povirk
3ff33e9303 ole32: Implement Revert for transacted storage objects. 2009-12-11 12:16:26 +01:00
Vincent Povirk
226363f5df ole32: Implement transacted storage. 2009-12-11 12:16:26 +01:00
Vincent Povirk
d799f7e189 ole32: Add a stub transacted storage type.
TransactedSnapshotImpl acts as a proxy between the user and the storage
interfaces that modify the file directly (or another transacted storage).
Currently, it does not change the operations.
2009-12-11 12:16:26 +01:00
Vincent Povirk
42142200d5 ole32: Add Invalidate to the storage vtable. 2009-12-11 12:16:26 +01:00
Vincent Povirk
75fe621192 ole32: Create internal storage objects with a refcount of 1.
For consistency with StorageImpl_Construct.
2009-12-11 12:16:25 +01:00
Paul Vriens
49d40d80f4 ole32/tests: Don't crash on Win9x/WinMe by using more A-functions. 2009-12-10 12:39:52 +01:00
Vincent Povirk
8b3ff9d179 ole32: Remove the ancestorStorage attribute. 2009-12-10 11:51:39 +01:00
Vincent Povirk
5d39c31bff ole32: Make IEnumSTATSTGImpl reference the parent storage. 2009-12-10 11:51:29 +01:00
Vincent Povirk
43184aaf52 ole32: Make findElement take a StorageBaseImpl. 2009-12-10 11:51:21 +01:00
Vincent Povirk
55b3a6e59f ole32: Don't use ancestorStorage to decide if a storage is transacted. 2009-12-10 11:51:10 +01:00
Vincent Povirk
1a12141d86 ole32: Add a test for modifying read-only substorage objects. 2009-12-10 11:51:01 +01:00
Huw Davies
09db528847 ole32: Release the error info strings.
Found by Valgrind.
2009-12-09 16:50:36 +01:00
Alexandre Julliard
44a9bae9f8 ole32: Fix some pointer cast warnings on 64-bit. 2009-12-09 12:04:01 +01:00
Vincent Povirk
df0ef756b3 ole32: Add an attribute to StorageBaseImpl to track its reverted status. 2009-12-09 12:03:40 +01:00
Vincent Povirk
5b79c5a5e4 ole32: Store the parent of internal storage objects. 2009-12-09 12:03:30 +01:00
Vincent Povirk
8518323e07 ole32: Don't track the stream size in storage stream objects.
We can't do this safely when there are multiple objects for a single stream.
2009-12-09 12:03:18 +01:00
Vincent Povirk
6d06c43e53 ole32: Use the storage vtable to resize streams. 2009-12-09 12:03:10 +01:00
Vincent Povirk
1d4c698ef3 ole32: Use the storage vtable to write to streams. 2009-12-09 12:02:59 +01:00
Vincent Povirk
62e54bacba ole32: Use the storage vtable to read streams. 2009-12-08 12:35:33 +01:00
Vincent Povirk
ee39a21d2b ole32: Add DestroyDirEntry to the storage vtable. 2009-12-08 12:35:17 +01:00
Vincent Povirk
f43e013f73 ole32: Take a StorageBaseImpl in removeFromTree. 2009-12-08 12:35:08 +01:00
Vincent Povirk
0425ed1d38 ole32: Take a StorageBaseImpl in insertIntoTree. 2009-12-08 12:35:00 +01:00
Vincent Povirk
9300a92ccc ole32: Change the base IStorage filename to a pointer type.
The maximum size of the name returned by Stat() on a top-level storage has
nothing to do with DIRENTRY_NAME_BUFFER_LEN. Windows can return longer names
and probably has a limit of MAX_PATH. Also, Stat always returns an absolute
pathname, so we don't need a special case in StgOpenStorage.
2009-12-08 12:34:47 +01:00