405 Commits

Author SHA1 Message Date
Vincent Povirk
4e4810f2c5 ole32: Remove uses of This->base.ancestorStorage in createDirEntry. 2009-11-03 21:30:49 +01:00
Vincent Povirk
7973904d56 ole32: Rename StorageImpl_SetStateBits to StorageBaseImpl_SetStateBits. 2009-11-03 21:30:39 +01:00
Vincent Povirk
17236668c9 ole32: Rename StorageImpl_SetElementTimes to StorageBaseImpl_SetElementTimes. 2009-11-03 21:30:34 +01:00
Vincent Povirk
fd2f35a872 ole32: Rename StorageImpl_DestroyElement to StorageBaseImpl_DestroyElement. 2009-11-03 21:30:27 +01:00
Vincent Povirk
c4aed16590 ole32: Rename StorageImpl_MoveElementTo to StorageBaseImpl_MoveElementTo. 2009-11-03 21:30:21 +01:00
Vincent Povirk
a5f87a4731 ole32: Rename StorageImpl_CopyTo to StorageBaseImpl_CopyTo. 2009-10-30 11:28:22 +01:00
Vincent Povirk
39e35cd7b4 ole32: Don't call internal functions from OLECONVERT_WriteOLE20ToBuffer. 2009-10-30 11:28:14 +01:00
Vincent Povirk
6a36025713 ole32: Don't call internal functions from OLECONVERT_GetOLE20FromOLE10. 2009-10-30 11:28:07 +01:00
Vincent Povirk
4f6e2453e9 ole32: Rename StorageImpl_CreateStorage to StorageBaseImpl_CreateStorage.
We don't just use the function for StorageImpl.
2009-10-30 11:27:43 +01:00
Vincent Povirk
f82924ffb9 ole32: Take a StorageBaseImpl in updatePropertyChain.
The function is not always called with a top-level storage object, and the
signature should reflect that.
2009-10-30 11:27:29 +01:00
Vincent Povirk
13b9666443 ole32: Convert adjustPropertyChain into real binary tree removal.
Finding the parent of a node in a binary tree is a detail that should
be handled inside the function.
2009-10-30 11:27:07 +01:00
Vincent Povirk
fd993b7d9d ole32: Remove directory entries from the tree before we free them.
The directory entry should still be valid as long as it's in the tree.
2009-10-30 11:26:50 +01:00
Vincent Povirk
37f3f3d92a ole32: Write the new data in getFreeProperty and rename the function.
This is to avoid calling WriteProperty with an index to a directory entry
that has not yet been reserved in the file. We reserve the entry by writing
the new data to it.
2009-10-29 15:48:12 +01:00
Vincent Povirk
20dd1886d5 ole32: Split the data conversion functions out of WriteProperty. 2009-10-29 15:47:55 +01:00
Vincent Povirk
ac9d77cd10 ole32: Use the raw directory entry functions in getFreeProperty.
The meaning of the "index" argument in Read/WriteProperty will likely
change in the future, but getFreeProperty must work with real indexes
into the file's real directory stream.
2009-10-29 15:47:44 +01:00
Vincent Povirk
e71c696b51 ole32: Move the low-level functionality of WriteProperty to a new function. 2009-10-29 15:47:30 +01:00
Vincent Povirk
56622de951 ole32: Move the low-level functionality of ReadProperty to a new function. 2009-10-29 15:47:20 +01:00
Vincent Povirk
5d550cdc45 ole32: Further simplify adjustPropertyChain and fold in findPlaceholder.
The logic is unchanged from the original version.
2009-10-29 15:47:03 +01:00
Vincent Povirk
a7e69339dc ole32: Reduce duplicated code in adjustPropertyChain.
Most of the work is the same regardless of relation type, so bring
those parts out of the relation type test.
2009-10-29 15:46:16 +01:00
Vincent Povirk
911e923fbc ole32: Don't use IEnumSTATSTGImpl to search for a parent directory entry.
Use a binary search to find the parent of a storage object being deleted.
We currently use IEnumSTATSTGImpl to do a linear search, which is
unnecessary.
2009-10-28 11:12:24 +01:00
Vincent Povirk
ee6856d874 ole32: Don't use IEnumSTATSTG to search for elements of storages.
We use it to do a linear search of a binary tree, which is overkill.
Replace it with a simple binary search.
2009-10-26 11:17:35 +01:00
Vincent Povirk
dce1ec06c8 ole32: Rename previous/nextProperty to left/rightChild.
These fields are used to build a binary tree of elements in a storage. This
should make the usage clearer.
2009-10-26 11:17:23 +01:00
Vincent Povirk
224ddb50f3 ole32: Clarify the timestamp fields in StgProperty.
According to the MS spec, these are FILETIME structures containing creation
and modification times.
2009-10-26 11:17:13 +01:00
Andrew Eikum
7b475390e4 ole32: Use rgiidExclude in StorageImpl::CopyTo. 2009-10-12 12:13:11 +02:00
Andrew Eikum
8672289c6e ole32: Use snbExclude in StorageImpl::CopyTo. 2009-10-06 11:57:37 +02:00
Vincent Povirk
b41822b1dc ole32: Remove useless comments. 2009-10-05 13:46:00 +02:00
Vincent Povirk
40433554d5 ole32: We do need to implement Commit/Revert for non-root storage. 2009-10-05 13:45:59 +02:00
Markus Stockhausen
abdebcdbbe ole32/storage32: Fix for reference counters in nested storage. 2009-09-26 16:05:45 +02:00
Eric Pouech
35d6217def Remove a couple of superfluous casts. 2009-08-29 17:11:26 +02:00
Andrew Eikum
a0d262c545 ole32: Overwrite previous CompObj instead of failing. 2009-08-28 11:54:30 +02:00
Andrew Eikum
a0aaa65507 ole32: Don't read past the end of the stream when converting block types. 2009-08-24 12:02:40 +02:00
Andrew Eikum
85a5867308 ole32: Add big block chain to small block chain conversion routine. 2009-08-20 19:43:30 +02:00
Andrew Eikum
972e4a22f8 ole32: Allow small block chains with no property. 2009-08-20 19:43:30 +02:00
Andrew Eikum
7ca31e83f0 ole32: Repair leak on error path. 2009-08-20 19:43:30 +02:00
Huw Davies
cc8c36c44c ole32: In simple mode, CreateStream with the STGM_CREATE flag should fail. 2009-06-02 11:57:21 +02:00
Huw Davies
0faf155887 ole32: Store the creation flag - STGM_SIMPLE depends on this. 2009-06-02 11:57:21 +02:00
Huw Davies
8b7b67712f ole32: Rename a parameter to better reflect its use. 2009-06-02 11:57:21 +02:00
Vincent Povirk
6f05770fbf ole32: Don't ignore a failure to delete the old element in CreateStorage. 2009-06-01 16:16:02 +02:00
Vincent Povirk
e21adbf45a ole32: Fix return code of DeleteStorage for read only storage. 2009-06-01 16:16:02 +02:00
Vincent Povirk
93a155381f ole32: Fix crash when calling CreateStorage on read only storage. 2009-06-01 16:16:02 +02:00
Vincent Povirk
4a0901fb87 ole32: Fix crash when calling CreateStream on read only storage. 2009-06-01 16:16:02 +02:00
Huw Davies
2e11733f45 ole32: Don't ask for a name if it's not required. 2009-04-28 14:47:54 +02:00
Austin English
2fe86fb7cd ole32: Rename a macro to prevent a conflict on NetBSD. 2009-04-24 11:51:53 +02:00
Vincent Povirk
9c02fda4a9 ole32: When renaming a storage element, delete from the current iface. 2009-04-02 16:28:30 +02:00
Michael Stefaniuc
0449701c31 ole32: Remove superfluous pointer casts. 2009-02-11 12:29:56 +01:00
Andrey Turkin
d20ab01ed2 ole32: Do not crash in WriteClassStg if passed NULL pointer. 2009-01-15 12:42:33 +01:00
Francois Gouget
b3bf746ff9 Straighten out some ellipses. 2008-11-26 12:33:34 +01:00
Michael Stefaniuc
79e31f6d40 ole32: Do not cast NULL. 2008-11-03 13:41:17 +01:00
Michael Stefaniuc
3ed8ffcc99 ole32: Use the right FAILED/SUCCEEDED macro instead of negating the opposite. 2008-10-08 13:41:58 +02:00
James Hawkins
5ea0d9d807 ole32: Storage sharing should be implemented in ole32, not the lower-level file API. 2008-08-19 13:55:53 +02:00