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
Rob Shearman
23bb94c005
ole32: Remove dead code in StorageImpl_LoadFileHeader.
2008-08-18 17:34:13 +02:00
Rob Shearman
064b6fce0c
ole32: Fix testing of HRESULT types with not operator instead of comparing against S_OK.
...
This makes it more obvious what the code is doing.
2008-08-18 17:34:12 +02:00
Andrew Talbot
749184a1e8
ole32: Remove unneeded address-of operators from array names.
2008-07-11 14:06:31 +02:00
Andrew Talbot
82e23af814
ole32: Remove unneeded address-of operators from function name.
2008-07-07 12:31:43 +02:00
Austin English
1b24da3aa0
ole32: Spelling fixes.
2008-04-10 09:51:12 +02:00