1999-10-22  Arturo Tena <arturo@directmail.org>

	* ms-ole.c (ms_ole_dump_tree): Deleted.
	(ms_ole_debug): If magic is 2, dump the tree.

	* ms-ole.h (ms_ole_open_vfs): Fix declaration.

1999-10-21  Arturo Tena <arturo@directmail.org>

	* ms-ole.c (ms_ole_dump_tree): Added.

1999-10-17  Michael Meeks  <mmeeks@gnu.org>

	* ms-ole.c (check_stream): Kill performance comment.
	(ms_ole_read_ptr_sb): fix blklen init before check.

1999-10-14  Arturo Tena <arturo@directmail.org>

	* ms-ole.c: Changed calls to system calls to wrappers.
	  (ms_ole_open_vfs): Renamed ms_ole_open. Added two parameters: one
	  to turn on/off mmap trying, and the other to take the wrappers.
	  (ms_ole_create_vfs): Renamed ms_ole_create. Added two parameters:
	  one to turn on/off mmap trying, and the other to take the wrappers.
	  Generate null MsOle file in the beginning, in order to be able to call
	  take_wrapper_functions.
	  (_MsOle): Added syswrap field.
	  (open2_wrap, open3_wrap, read_wrap, close_wrap, fstat_wrap,
	  write_wrap, write_wrap, lseek_wrap, take_wrapper_functions): Added.
	  (default_wrappers): Added.
	* ms-ole.h (ms_ole_open, ms_ole_create): Modified to be macros that
	  call ms_ole_*_vfs.
	  (ms_ole_open_vfs, ms_ole_create_vfs): Added.
	  (MsOleSysWrappers, _MsOleSysWrappers): Added.
	  (MsOleDoMmap, MsOleDontMmap): Added.

1999-10-10  Arturo Tena <arturo@directmail.org>

	* Makefile.am: make libole2.a not installed if compiling gnumeric.

1999-10-10  Arturo Tena <arturo@directmail.org>

	* Makefile.am (INCLUDES): moved to the conditional section, because it
	  is needed only by gnumeric.

1999-10-10  Arturo Tena <arturo@directmail.org>

	* Makefile.am: moved version.c from libole2_sources to be
	  LIBOLE2_PUBLIC_LIBRARY dependent, this means gnumeric don't
	  depend on version.c anymore.
	* version.c: removed, because it's generated by libole2 configure.

1999-10-08  Arturo Tena <arturo@directmail.org>

	* version.c.in: Added.
	* version.c: Added, this should allow gnumeric compile.
	* Makefile.am: added version.c.

1999-10-08  Arturo Tena <arturo@directmail.org>

	* Makefile.am: clean up.

1999-10-07  Jody Goldberg <jgoldberg@home.com>

	* ms-ole.c : Add a libole2_debug debug flag which can optionally
	  enable calles to check_stream.

1999-10-05  Arturo Tena <arturo@directmail.org>

	* ms-ole.c: Add a comment regarding check_stream performance issue
	  and fixed English typo.
	  (read_bb): Fixed bug: tried to mark an inexistent block as
	  unused.

1999-10-03  Jody Goldberg <jgoldberg@home.com>

	* ms-ole.c (ms_ole_destroy) : Quick and dirty test to
	  avoid freeing the magic ptr on exit when we have a
	  failure during intialization.

1999-09-30  Arturo Tena <arturo@directmail.org>

	* ms-ole.c: Cleanup the code.
	(ADD_BBD_LIST_BLOCK): added new type of block.
	(TRY_MARK_UNUSED_BLOCK): added.
	(characterise_block): added the new block type.
	(read_bb): fixed bug that prevent unuse all bbd list blocks.

1999-09-27  Arturo Tena <arturo@directmail.org>

	* Makefile.am: install missing headers.

1999-09-26  Arturo Tena <arturo@directmail.org>

	* ms-ole.c (characterise_block): Added recognized block type.
	(read_bb): mark all bbd blocks as unused (incluiding additional ones).

1999-09-26  Arturo Tena <arturo@directmail.org>

	* ms-ole.c (ms_ole_open): Fixed bug: core dumped when called with an
	inexistent file name.

1999-09-26  Michael Meeks  <michael@nuclecu.unam.mx>

	* ms-ole.c (read_bb): Add semicolon after assert.
	(set_blk_dirty): remove: unused.
	(dump_header): kill arg.

1999-09-26  Arturo Tena <arturo@directmail.org>

	* ms-ole.c (read_bb): Read all the BBD's, including those where are in
	the additional bbd lists.

1999-09-25  Arturo Tena  <arturo@directmail.org>

	* gnome-stream-ole.c, gnome-stream-ole.h, gnome-storage-ole.h,
	gnome-storage-ole.c: Killed again.

1999-09-25  Michael Meeks  <michael@nuclecu.unam.mx>

	* Makefile.am (lib_LT_LIBRARIES): Make libole2
	install.

1999-09-20  Michael Meeks  <michael@nuclecu.unam.mx>

	* ms-ole.c (ms_ole_open): fixed leak, updated.
	Re-written to allow a fallback from mmap.
	(ms_ole_read_ptr_bb, ms_ole_read_ptr_sb): fix logic.

1999-09-20  Michael Meeks  <michael@nuclecu.unam.mx>

	* ms-ole.c (path_to_pps): add degenerate no file case.
	(ms_ole_unlink): stub (ms_ole_directory): implemented.
	(ms_ole_stat): implemented.

1999-09-20  Michael Meeks  <michael@nuclecu.unam.mx>

	* ms-ole.c (ms_ole_destroy): Paper bag error.

1999-09-19  Michael Meeks  <michael@nuclecu.unam.mx>

	* Makefile.am: Killed storage.

	* gnome-storage-ole.[ch]: Killed.

	* ms-ole-summary.c (ms_ole_summary_open): 

	* ms-ole.c (MAP_FAILED): Hack for wierd systems.
	(ms_ols_*directory*): Destroyed, all new API. This time its permanant.
	will allow clean VFS integration & simple leak free usage. It cleans
	the header file & namespace and improves performance.
	(path_to_pps, pps_create): helper functions.
	(pps_create, pps_decode_tree): PPS signature for debugging.

1999-09-17  Michael Meeks  <michael@nuclecu.unam.mx>

	* ms-ole-summary.c (ms_ole_summary_set_string): Remove verbose
	comments; various cleans.

1999-09-15  Frank Chiulli  <fchiulli@home.com>

	* plugins/excel/libole2/ms-ole-summary.c (write_items): Calculate
	offsets correctly - properties must start on a 32-bit (4-byte)
	boundary.
	(ms_ole_summary_set_string): Strings are null-terminated.

1999-09-08  Michael Meeks  <michael@nuclecu.unam.mx>

	* ms-ole.c (ms_ole_open, extend_file): Added trap for MAP_FAILED.

	MM to MW: Thanks, my new mail address is as above.

1999-08-29  Morten Welinder  <terra@diku.dk>

	MW to MM: your primary mail server (mail.imaginator.com) is out;
	your secondary server (mail.peasy.net) is no longer accepting
	mail for imaginator.com.

	* ms-ole.c (ms_ole_path_decode): Plug leak.

1999-08-16  Michael Meeks  <michael@imaginator.com>

	* gnome-stream-ole.c (real_seek): Expanded, and fixed for
	new Bonobo seek type.

	* ms-ole.c (ms_ole_lseek): Implemented MsOleSeekEnd

	* ms-ole.h: Expanded seek enum.

1999-08-15  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c (ms_ole_path_decode): Stop it trying to 'enter' streams :-)
	(ms_ole_directory_enter): Add more flowery debug.

1999-08-14  Michael Meeks  <michael@imaginator.com>

	* gnome-stream-ole.c (gnome_stream_ole_open_create): Fix cockups
	that broke compile.

1999-08-14  Michael Meeks  <michael@imaginator.com>

	* ms-ole.[ch]: Get seek to return new position.

	* ms-ole.[ch]: Rehash all daft guint32 references converting
	them to MsOlePos's.

	* README: More chat.

	* ms-ole.c (ms_ole_stream_open): Setup 'dir'

	* ms-ole.h (struct _MsOleStream): Re-ordered elements to make
	privacy more explicit, add 'dir' element to keep track of
	the file's directory handle.

	* ms-ole-summary.c (ms_ole_summary_open, ms_ole_summary_create):
	Use new open_name semantics.

	* gnome-stream-ole.[ch]: Created.

	* gnome-storage-ole.[ch]: Created.

1999-08-13  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c (ms_ole_path_decode): Created.
	(ms_ole_stream_open_name): Changed API to use path.
	(ms_ole_file_decode): Added - This whole API needs fixing !

	* Makefile.am: Added gnome-stream/storage bits.

	* gnome-stream-ole.[ch]: Added.

	* gnome-storage-ole.[ch]: Added.

1999-07-26  Michael Meeks  <michael@edenproject.org>

	* ms-ole-summary.c (ms_ole_summary_create_stream): Implemented.
	(ms_ole_summary_create): Ditto.
	(ms_ole_summary_get_time, ms_ole_summary_get_preview): kill redundant
	and buggy seeks.
	(ms_ole_summary_set_long, ms_ole_summary_set_time),
	(ms_ole_summary_set_preview, write_item_t_new),
	(ms_ole_summary_set_string): Implemented.
	(ms_ole_summary_destroy): renamed ms_ole_summary_close.

1999-07-26  Michael Meeks  <michael@edenproject.org>

	* ms-ole.c: Removed all references to GET/SET_GUINT(8,16,32):
	replaced with MS_OLE_~.
	(ms_ole_directory_new): Removed; old and redundant.
	(ms_ole_directory_next): Updated return type to gboolean.
	Started API documentation.

1999-07-22  Michael Meeks  <michael@edenproject.org>

	* ms-ole.c (ms_ole_stream_open): Cope with dodgy files by truncating
	them ( best we can do ).
	(NEXT_BB, NEXT_SB): Global insertion of cosmetic whitespace.

	* ms-ole-summary.h: Add get_properties API, pointless and asymetrical
	but possibly useful.

	* ms-ole-summary.c (ms_ole_summary_open_stream): Actually init. the
	items array.
	(read_items): Handle corrupt streams more correctly and chattily.
	
1999-07-20  Michael Meeks  <michael@edenproject.org>

	* ms-ole-summary.h: Changed not_available to available, improves
	legibility.

1999-07-19  Michael Meeks  <michael@edenproject.org>

	* ms-ole.h: Remove gnumeric references.

	* Makefile.am (libole2_a_SOURCES): Added -summary*

	* README: Updated to include summary source info.

	* ms-ole-summary.[ch]: Added.

1999-07-13  Michael Meeks  <michael@edenproject.org>

	* ms-ole.c (ms_ole_stream_open_name): Added.
	(ms_ole_directory_copy): Add.

1999-07-09  Michael Meeks  <michael@edenproject.org>

	* ms-ole.c (ms_ole_directory_create): Quieten
	"Trying N to read beyond EOF..." messages.

1999-07-03  Michael Meeks  <michael@edenproject.org>

	* ms-ole.c (ms_ole_read_copy_sb, ms_ole_read_copy_bb):
	Added check on ptr.

1999-07-02  Michael Meeks  <michael@edenproject.org>

	* ms-ole.h: Indented nicely again.

1999-07-03  Michael Meeks  <michael@edenproject.org>

	* ms-ole.[ch]: Clean.
	s/MS_OLE_STREAM/MsOleStream/g
	s/MS_OLE_DIRECTORY/MsOleDirectory/g
	s/MS_OLE/MsOle/g
	s/MsOle_SEEK_SET/MsOleSeekSet/g
	s/MsOle_SEEK_CUR/MsOleSeekCur/g
	s/ms_ole_seek_t/MsOleSeek/g
	s/MsOle_PPS_STORAGE/MsOlePPSStorage/g
	s/MsOle_PPS_STREAM/MsOlePPSStream/g
	s/MsOle_PPS_ROOT/MsOlePPSRoot/g
	s/PPS_TYPE/PPSType/g
	s/ms_ole_pos_t/MsOlePos/g
	s/MsOle_SMALL_BLOCK/MsOleSmallBlock/g
	s/MsOle_LARGE_BLOCK/MsOleLargeBlock/g
	s/BB_BLK_ATTR/BBBlkAttr/g

1999-06-28  Michael Meeks  <michael@edenproject.org>

	* ms-ole.c (pps_encode_tree_initial): Added different
	magic numbers for small block files.
	(extend_file): Culled unused variables.
	(read_pps): Add clobber of duff root node name, is this
	a bug in pps_get_text ?

1999-06-18  Michael Meeks  <michael@edenproject.org>

	* ms-ole.c (ms_ole_read_ptr_bb): Stupid bug detecting
	contiguous blocks !
	(ms_ole_read_ptr_sb): ditto.

1999-06-15  Morten Welinder  <terra@diku.dk>

	* ms-ole.c (ms_ole_destroy): Plug leak.

1999-06-15  Michael Meeks  <michael@edenproject.org>

	* ms-ole.c: Large updates to helper macros, to allow
	clean setting of dirty bits etc.
	(write_cache_block, set_blk_dirty): Created,
	(get_block_ptr): LRU strategy implemented.
	(ms_ole_destroy): Implemented for non-mmap.

	* ms-ole.h (struct MS_OLE): Renamed file_descriptor.

	* ms-ole.c (ms_ole_open): Fix bug opening directories.
	Added non-mmap code.

1999-06-01  Michael Meeks  <michael@edenproject.org>

	* ms-ole.c (pps_decode_tree): Added debug in case of
	currupted directory.
	(read_pps): Added check to make duff files fail on
	probe.
	(write_bb): Embarassing bug with block directories fixed.

1999-05-26  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c (ms_ole_create): Set parent corectly.
	(ms_ole_directory_create): Set children correctly.

1999-05-25  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c: Really large overhaul of directory stuff, now
	all chaining is stored in a tree in memory and the read /
	write side is cleanly separate. All functions touched.
	Breaks directory writing.
	(read_bb): Fixed another unthinkable bug.

1999-05-24  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c (write_sb): Fixed up sbf chain.
	(read_sb): Made sbf chain consistant.
	(write_sb): Removed sillyness with late chaining of sbf.
	(next_free_bb): Extend one block at a time.
	Cleaned all references to dump_allocation, added
	ms_ole_debug helper function.
	(ms_ole_debug): Re-implemented dump_allocation with
	(characterise_block): for extra spiffy debugging.
	(read_bb): Stop us leaking BBD blocks all over the shop.

1999-05-23  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c (ms_ole_directory_create): Setup 'dir' properly
	for streams tacked onto chain.
	(PPS_SET_NAME_LEN): Removed factor of two.
	(ms_ole_create): Updated magic from 0x0003003b to 0x0003003e

1999-05-22  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c (pps_encode): Fix for NULL names.
	(ms_ole_directory_create): Silly bug chaining in filenames.
	(next_free_sb): Actually mark the blocks we are using as used.
	Re-adjust the calculations for extending the sbf.
	(ms_ole_stream_close): Add check on array before free.
	(free_allocation): Write the Small block writing code.
	(ms_ole_directory_next): Recurse over NULL names.
	Cleaned debug: silent except for errors.
	Added 'dirty' flag to MS_OLE *, fo write-backs.
	(read_sb): Trancate the SB chain to remove appended
	unused blocks.
	(write_pps): Fiddled.
	(pps_encode): Silly bug in PPS name length setting &
	setting start to END_OF_CHAIN.

1999-05-21  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c (ms_ole_stream_close): Leak fixed: thanks Morten.
	(read_bb): Silly bug with lengths and header block.
	(ms_ole_create): Changed creation method, parallel but discrete.
	(ms_ole_directory_create): Cleaned up, bug not setting primary_entr
	(ms_ole_cleanup): Fleshed out.
	(next_free_pps): Serious bug klonked.
	(write_pps, write_sb, write_bb): Implemented.
	(ms_ole_append_block): Fix silly bug using sb not bb.
	(next_free_bb): Add call to extend_file !
	(ms_ole_write_sb): Simplified conversion and killed nasty
	critical section checks.

1999-05-20  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c: Whole Block structure totaly re-written for the
	third time ! Lots cleaner, and should support non-mmapped
	architectures with time.

1999-05-19  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c (ms_ole_write_sb): Fix fatal bug with converting a
	SB -> a BB file when mmap moves memory invalidating src ptr.
	(ms_ole_create): Init header to UNUSED_BLOCK.

1999-05-18  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c (init_pps): Constricted name writing further.
	Added missing factor of 2 to length.
	(ms_ole_create): Remove silly set name length.
	(pps_get_text): Added halving of length
	(ms_ole_directory_create): Init startblock to END_OF_CHAIN.

1999-05-17  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c (dump_stream): Updated to use s->position.
	(set_offset, get_offset): Culled ( dead ).
	(dump): Removed spurious #undefs
	(ms_ole_write_bb, ms_ole_write_sb): Fixed for mid-stream
	writes.
	(next_free_bb): Limit extension to 10 blocks.
	Fix sillyness in UNUSED_BLOCK setting.
	(ms_ole_create): Fix killer stupid bug ! setting whole map to
	END_OF_CHAIN instead of UNUSED_BLOCK ! idiot !
	Correctly terminated the root directory chain.
	Added magic numbers.
	(ms_ole_directory_create): Added magic numbers.

	* ms-ole.h (struct _MS_OLE_STREAM): Add tell method, and fix
	broken comments.
	Added ms_ole_pos_t typedef.
	
	* ms-ole.c (directory_setup): Add check.
	(ms_ole_directory_next): Fix leak from Morten.

1999-05-15  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c (ms_ole_create): Fixed stupid bug; created
	ole file was opened read-only; also set mode = 'w'
	Major re-working / bug-fixing...

1999-05-14  Michael Meeks  <michael@imaginator.com>

	* ms-ole.h: Updated types to forward references.
	Changed ms_ole_directory_get_root to ms_ole_get_root.

1999-05-13  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c (ms_ole_new, ms_ole_create, ms_ole_deanalyse): 
	Fatal bug with uninitialised arrays fixed.

1999-05-12  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c (free_allocation): Major hassles here with
	setting up sbf/sbd chain pointers.
	(read_link_array): Checks for silly situations.
	(ms_ole_directory_create): Check for name != NULL.
	(next_free_sb): Added assert. Fix of out by 1 condition
	for extending SBD.
	Cleaned debug up throught and made conditional on OLE_DEBUG


1999-05-11  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c (next_free_bb): Removed recurse, and
	added assert for speed and ease.
	(ms_ole_lseek): Altered logic slightly on position
	setting.
	Major alteration of sbd_list, sbf_list, root_list to
	GArray's: Touches everything.

1999-05-10  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c (next_free_bb): recurse for safety.
	More debugging checks throught
	More safty bracketing in macros.
	(next_free_pps): Added read_root_list.
	(extend_file): Removed redundant daft UNUSED setting
	code.

1999-05-08  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c (ms_ole_directory_create): Added 'w' mode check.
	Added check for name overruns.
	(ms_ole_write_bb, ms_ole_write_bb): Major work, now OK for
	some small files again.

1999-05-08  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c (ms_ole_stream_open): Checks mode before
	returning handle;
	(ms_ole_new): Added mode flag setting.
	(ms_ole_read_ptr_bb, ms_ole_read_ptr_sb): A howler fixed.
	(ms_ole_stream_open): More accuracy, in building block list.

	* ms-ole.h (_MS_OLE): Added 'mode' flag.

	* ms-ole.c (ms_ole_stream_close): Set size on exit
	to save constantly updating it, if writing.
	Re-sculpted many PPS_GET/SET_SIZE macros.
	(ms_ole_stream_open): Removed redundant END_OF_CHAIN
	block on the end of the blocks array.
	(ms_ole_read_copy_bb): Remove check for END_OF_CHAIN,
	and re-arrange.

1999-05-08  Michael Meeks  <michael@imaginator.com>

	* ms-ole.c: Moved all biff code into ../ms-biff.c
	Removed odd includes.
	(pps_get_text): Changed types to guint8 from BYTE.
	(ms_ole_stream_copy): Created, and made global.
