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.
