2000-05-11  Michael Meeks  <michael@helixcode.com>

	* autogen.sh: hack, evily.

	* libole2.m4: update.

2000-05-10  Michael Meeks  <michael@helixcode.com>

	* doc/Makefile.am: update.

	* test/test-ole.c: fix includes.

	* test/Makefile.am: update & clean.

	* libole2/Makefile.am (INCLUDES): update.

	* Makefile.am (SUBDIRS): update.

	* libole2/ms-ole.c: update includes.

	* libole2/ms-ole-summary.c: ditto.

	* libole2/ms-ole-vba.c: ditto.

	* configure.in: Bump version.

	* autogen.sh: update sanity checks.

	* Makefile.am (lib_LTLIBRARIES): clean out cruft from building with
	gnumeric.

2000-04-25  Michael Meeks  <michael@helixcode.com>

	* Makefile.am: Add vba modules.

	* ms-ole.c (pps_encode_tree_chain): clean redundant code from comments.

	* ms-ole-vba.[ch]: Implement.

2000-04-21  Arturo Tena  <arturo@directmail.org>

	* ms-ole.c (read_sb): Fix for files with broken small block descriptors.

2000-04-17  Arturo Tena  <arturo@directmail.org>

	* ms-ole.c: include config.h.
	  (extend_file, ms_ole_open_vfs, ms_ole_create_vfs, ms_ole_destroy):
	  use HAVE_MMAP wisely, for systems without a working mmap call.
	  Michael told this is needed for the AbiWord guys.

	* Makefile.am: added -DHAVE_MMAP when compiling libole2 under gnumeric.

2000-04-09  Morten Welinder  <terra@diku.dk>

	* ms-ole.c: Include <string.h> for memset.

2000-04-01  Michael Meeks  <michael@helixcode.com>

	* ms-ole-summary.c (ms_ole_summary_open_stream): update for docs.

2000-03-18  Michael Meeks  <michael@helixcode.com>

	* ms-ole.c (read_bb): Kill assertion in favour of silent leak.

2000-01-17  Frank Chiulli  <fc-linux@home.com>

	* ms-ole-summary.c (ms_ole_summary_open_stream,  ms_ole_summary_open,
	  ms_ole_docsummary_open, ms_ole_summary_create_stream, 
	  ms_ole_summary_create, ms_ole_docsummary_create, 
	  ms_ole_summary_get_properties): Documentation enhancements
	  
	  (ms_ole_docsummary_open): Prefix DocumentSummaryInformation stream
	  name with /05.
	  
	* ms-ole.c (pps_get_text): Removed unneeded line.  Variable is set in
	  loop.
	  
1999-12-18  Morten Welinder  <terra@diku.dk>

	* ms-ole.c (write_bb): Correct allocation of BBD blocks, take in count
	  the FAT blocks.

1999-12-18  Michael Meeks  <mmeeks@gnu.org>

	* ms-ole.c (ms_ole_create_vfs): NULL pointer after free in error state.

1999-12-16  Frank Chiulli  <fc-linux@home.com>
	
	* ms-ole.c (pps_get_text): Remove code that skips the first character if
	 it is less than 0x30.

	* ms-ole-summary.c (ms_ole_summary_open, ms_ole_summary_create): Update
	to include '\05'.

1999-12-17  Arturo Tena  <arturo@directmail.org>

	* ms-ole-summary.c, ms-ole-summary.h (filetime_to_unixtime,
	  unixtime_to_filetime): made private. May be a
	  ms-ole-summary-private.h file is better.
	* ms-ole-summary.h: clean up.
	* ms-ole.c, ms-ole.h: more documentation.

1999-12-17  Arturo Tena  <arturo@directmail.org>

	* ms-ole.c, ms-ole.h (BLP): made private.
	* ms-ole.c (define MS_OLE_H_IMPLEMENTATION): deleted, not used.
	  (ms_ole_read_ptr_bb, ms_ole_read_ptr_sb): fixed error return value.
	  (ms_ole_read_copy_bb, ms_ole_read_copy_sb): changed return value,
	  to a gint, more appropiate.
	* ms-ole.h (include sys/stat.h): deleted, not needed.
	  (ifdef G_HAVE_GINT64): commented, it's useless anyway.

	* ms-ole.c, ms-ole.h: more documentation, clean up.

1999-12-15  Arturo Tena  <arturo@directmail.org>

	* ms-ole.c, ms-ole.h: more documentation.

1999-12-11  Frank Chiulli  <fc-linux@home.com>

	* ms-ole-summary.c (write_items): Correct the code that keeps track of
 	  the size of the property section and where the properties are written.
 	(ms_ole_summary_set_boolean): Correct the length of a boolean.
 	(ms_ole_summary_set_short): Correct the length of a short.
 
1999-12-14 Valerie A Henson  <val@nmt.edu>

	* ms-ole.c: s/dump/ms_ole_dump.

	* ms-ole.h: ditto.

1999-12-13  Arturo Tena  <arturo@directmail.org>

	* ms-ole-summary.c (ms_ole_summary_create, ms_ole_docsummary_create):
	  Prepend a '\005' character in the name of the summary streams,
	  it looks like the right name.

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

	* ms-ole.c (pps_encode_tree_chain): Rewritten, so we can create a file
	  with more than 4 PPS in a file.
	  (pps_create): Take one additional parameter, in order to increment
	  the number of pps when a new file is created. All callers changed.

	* ms-ole.c (dump): The dump now fits on 80-columns displays.

1999-11-30  Michael Meeks  <mmeeks@gnu.org>

	* ms-ole-summary.c (write_items): Ensure that we write a BB file.

1999-11-17  Arturo Tena  <arturo@directmail.org>

	* Revert the last change. I will study pps_encode_tree_chain later and
	  purpose a better (and working) solution.

1999-11-16  Arturo Tena  <arturo@directmail.org>

	* ms-ole.c (pps_create): Added MsOle *f parameter, this fix a bug when
	  creating more than 4 PPS's. All callers changed.
	  (pps_encode_tree_chain): Little hack to allow creating more than 4
	  PPS's, this function must be rewitten later.

1999-11-15  Michael Meeks  <mmeeks@gnu.org>

	* ms-ole-summary.c: s/section_t/MsOleSummarySection/
	update Authors. (seek_to_record): clean to please.

1999-11-14  Frank Chiulli  <fc-linux@home.com>
	
	* ms-ole-summary.h : Added MsOlePropertySetID ps_id to the section_t 
	  structure which was moved from ms-ole-summary.c.  

	* ms-ole.summary.c : Move section_t structure definition to 
	  ms-ole-summary.h.

	* ms-ole-summary.c (ms_ole_summary_open_stream) : set ps_id in sect.
	  Call read_items once for each section using ps_id from sect.

	* ms-ole-summary.c (read_items) : Validate item's PropertySetID against
	  the section's PropertySetID.

	* ms-ole-summary.c (seek_to_record) : Only seek if item's ps_id
	  matches the summary's ps_id.

1999-11-12  Arturo Tena  <arturo@directmail.org>

	* ms-ole-summary.c (ms_ole_summary_get_time): Fixed typo.

1999-11-12  Arturo Tena  <arturo@directmail.org>

	* ms-ole-summary.h (MsOleSummaryType): Deleted extra comma in structure
	  definition (it confused gtk-doc).

	* ms-ole.c: Fixed some function comments to work with gtk-doc.
	* ms-ole.h (MS_OLE_H_IMPLEMENTATION): Deleted, because Meeks say that is
	  useless anyway.
	  (ms_ole_create_vfs, ms_ole_open_vfs, ms_ole_ref, ms_ole_unref,
	  ms_ole_destroy, ms_ole_stream_close, ms_ole_debug): Modified their
	  signatures to be syncronizated with their implementations, in order
	  to get gtk-doc working.

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

	* ms-ole-summary.c, ms-ole.c: Commented all public functions with
	gtk-doc comment style, in preparation to use gtk-doc.
	* ms-ole-summary.h: Moved comments about functions to ms-ole-summary.c,
	clean-up.

1999-11-08  Michael Meeks  <mmeeks@gnu.org>

	* ms-ole-summary.c (ms_ole_docsummary_open): quieten.

1999-11-08  Frank Chiulli  <fc-linux@home.com>
	
	* ms-ole-summary.c : Added new field (ps_id, Property Set ID) to the
	  structure item_t.  Define the Summary FMTIDs as constants.  Define
	  new TYPE_* s to handle additional items.

	* ms-ole-summary.c (read_items) : Add a new argument - psid (Property
	  Set ID).  Use this to set the new ps_id field in item_t.  

	* ms-ole-summary.c (write_items) : Correct an error when calculating 
	  the offset of an item.

	* ms-ole-summary.c (ms_ole_summary_open_stream) : Add a new argument - 
	  psid (Property Set ID).  Change references to FMTIDs from magic 
	  numbers to references to constants.  Set ps_id in SummaryInfo 
	  accordingly.  Change call to read_items.

	* ms-ole-summary.c (ms_ole_summary_open) : Add argument in call to
	  ms_ole_summary_open_stream.

	* ms-ole-summary.c (ms_ole_docsummary_open) : New function - opens the
	  DocumentSummaryInformation stream.

	* ms-ole-summary.c (ms_ole_summary_create_stream) : Add new argument -
	  psid (Property Set ID).  Change references to FMTIDs from magic 
	  numbers to references to constants.  Segregrate the processing for the
	  different Summary streams.  Although they are identical now they
	  should change in the future because DocumentSummaryInformation can
	  contain two streams.  Add new argument in call to 
	  ms_ole_summary_open_stream.

	* ms-ole-summary.c (ms_ole_summary_create) : Add new argument in call to
	  ms_ole_summary_create_stream.

	* ms-ole-summary.c (ms_ole_docsummary_create) : New function to create
	  the DocumentSummaryInformation stream.

	* ms-ole-summary.c (ms_ole_summary_get_short) : New function to read/get
	  items which are typed as short integers.

	* ms-ole-summary.c (ms_ole_summary_get_boolean) : New function to read/
	  get items which are typed as booleans.

	* ms-ole-summary.c (filetime_to_unixtime) : New function to convert DOS
	  filetime to UNIX time.  This function was adapted from a similiar
	  function in 'wv' by Caolan McNamara (Caolan.McNamara@ul.ie).

	* ms-ole-summary.c (unixtime_to_filetime) : New function to convert UNIX
	  time to DOS filetime.

	* ms-ole-summary.c (ms_ole_summary_get_time) : Rewritten function to 
	  get/read items which are typed as time.

	* ms-ole-summary.c (ms_ole_summary_get_boolean) : Corrected a test.

	* ms-ole-summary.c (ms_ole_summary_set_time) : Rewritten function to 
	  set items which are typed as time.

	* ms-ole-summary.c (ms_ole_summary_set_boolean) : Rewritten function to 
	  set items which are typed as boolean.

	* ms-ole-summary.c (ms_ole_summary_set_short) : New function to set
	  items which are typed as short.

	* ms-ole-summary.c (ms_ole_summary_set_long) : Corrected a test.

	* ms-ole-summary.h : Added new enum - MsOlePropertySetID.  Added new 
	  field (ps_id, Property Set ID) to the MsOleSummary structure.  Added
	  prototypes for the following new public functions:
	    ms_ole_docsummary_open
	    ms_ole_docsummary_create
	    ms_ole_summary_get_boolean
	    ms_ole_summary_get_short
	    ms_ole_summary_set_boolean
	    ms_ole_summary_set_short
	    filetime_to_unixtime
	    unixtime_to_filetime
	  Modified prototypes where arguments were added.  Added new types to
	  MsOleSummaryType.  Added new enums to MsOleSummaryPID to reflect new
	  items in DocumentSummaryInformation and additional ones in 
	  SummaryInformation.

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

	* ms-ole.c: Fixed some OLE_DEBUG #if's.

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

	* ms-ole.c (extend_file): kill struct stat st.
	(ms_ole_open_vfs, ms_ole_create_vfs): ditto.
	(fstat_wrap): kill.

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

	* ms-ole.c, ms-ole.h: Delete fstat wrapper, created isregfile_wrap and
	  getfilesize_wrap wrappers instead. All callers changed.
	* ms-ole.c: (extend_file): Not use lseek to extend the file, but
	  actually write bytes after the end of the file (this allow to write a
	  simpler gnome-vfs method).

1999-10-27  Morten Welinder  <terra@diku.dk>

	* ms-ole.c (ms_ole_open_vfs): Quiet when file is too short.
  	Gnumeric format probing should not cause output.

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  <fc-linux@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.
