2001-11-04 Jody Goldberg <jgoldberg@home.com>
2001-11-04  Jody Goldberg <jgoldberg@home.com>

* Release 0.2.4

2001-10-30  Jody Goldberg <jgoldberg@home.com>

* libole2/ms-ole.c (ms_ole_open_vfs) : simplify.

2001-10-20  Morten Welinder  <terra@diku.dk>

* libole2/ms-ole.c: first attempt at handling files that are not
an integer number of 512-byte blocks.
(ms_ole_open_vfs): Fix file leaks.  Verify block sizes.
(ms_ole_setup): Prepare the right number of blocks.
(ms_ole_destroy): Plug leak.
(ms_ole_lseek): Fix seek-from-end case.

2001-10-29  Jody Goldberg <jgoldberg@home.com>

* libole2/ms-ole.c (ms_ole_stream_open) : Be more careful about where
  we are wiping.

2001-05-28  Nathan Cullen <furyu@fuse.net>

* libole2.spec.in: don't point at sgml files we don't install.

2001-05-19  Michael Meeks  <michael@ximian.com>

* Version 0.2.3

2001-05-19  Michael Meeks  <michael@ximian.com>

* ms-ole.c: Turn churning debug off, doh.

2001-05-19  Michael Meeks  <michael@ximian.com>

* Version 0.2.2

2001-05-19  Michael Meeks  <michael@ximian.com>

* libole2/ms-ole.c (ms_ole_stream_open): check we actualy
open a stream, not a storage & tweak debugging.

* test/test-ole.c (do_regression_tests): impl.
(hammer_stream): impl.
(main): hook up.

* libole2/ms-ole-summary.c: include string.h

2001-04-19  Morten Welinder  <terra@diku.dk>

* libole2/ms-ole.c (write_pps): Plug a leak.  (Located by Jody.)

2001-04-12  Jody Goldberg <jgoldberg@home.com>

* libole2/ms-ole-summary.c (free_write_items) : new function.
(ms_ole_summary_close) : call it here.

2001-04-13  jacob berkman  <jacob@ximian.com>

* libole2/ms-ole.c (ms_ole_open_vfs): only twiddle the prot if we
have mmap

2001-03-30  Michael Meeks  <michael@ximian.com>

* libole2/ms-ole.c (ms_ole_stream_duplicate): constipate
some more.

2001-03-29  Michael Meeks  <michael@ximian.com>

* Version 0.2.1

2001-03-29  Michael Meeks  <michael@ximian.com>

* libole2/Makefile.am (libgnomeole2_la_LIBADD): add glib
libs as dependant libraries. thanks to
David Kaelbling <drk@sgi.com>

2001-01-19  Dom Lachowicz <cinamod@hotmail.com>

* libole2/ms-ole.h: Fixes for Win32 and BeOS compilation

* libole2/ms-ole.c: same as well as minor indentation fixes

2001-01-18  Michael Meeks  <michael@helixcode.com>

* Version 0.2.0

2001-01-15  Michael Meeks  <michael@helixcode.com>

* libole2/ms-ole-vba.c (ms_ole_vba_open): kill compile warnings

2001-01-15  Dom Lachowicz <cinamod@hotmail.com>

* libole2/ms-ole.c: remove sys/types.h
s/printf/g_print & g_warning/
(ms_ole_create_vfs): remove O_NONBLOCK
(destroy_pps): accelerate l == NULL case, blank various
fields after destroy.
(write_wrap): cast away const for broken c libraries
(open2_wrap, open3_wrap): detect and use O_BINARY for broken OSs

2000-12-28  Michael Meeks  <michael@helixcode.com>

* libole2/ms-ole.c (take_wrapper_functions): fix
evil bug.

2000-12-21  Michael Meeks  <michael@helixcode.com>

* configure.in: Bump version to 0.2.0

* libole2/ms-ole.c: s/new_null_msole/ms_ole_new/
(extend_file): move remap panic out of debug.
(remap_file): split from
(extend_file): here & use wrappers for mmapping.
(mmap_wrap, munmap_wrap): impl.
(ms_ole_open_vfs, ms_ole_create_vfs): Simplify, clean loads
of crud out, replace (*f) with f, use syswrapped mmap.

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

* configure.in (VERSION_INFO): de-complicate the glib check.

* libole2/Makefile.am (INCLUDES): add $(GLIB_CFLAGS)

* test/Makefile.am (test_ole_LDADD): ditto + libs.

2000-10-22  John Gotts  <jgotts@linuxsavvy.com>

* libole2.spec.in: Fixed an incorrect category.  Also some minor build
  updates.

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

* configure.in: Version to 0.1.7

2000-10-19  Frank Chiulli  <fc-linux@home.com>

* libole2/ms-ole-vba.c: increase size of uncompress buffer to account
  for 'hidden' text.  (decompress_vba): improve boundary tests; use
  defined constant rather than hard coded number.  (ms_ole_vba_open):
  modify signature check.

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

* libole2/ms-ole-summary.c (ms_ole_summary_set_boolean): 
use value instead of 'bool' [ from Dom ]

2000-08-30  Frank Chiulli <fc-linux@home.com>

* libole2/ms-ole-vba.c (ms_ole_vba_eof): correct calculation for end of
  file.  (decompress_vba): changed last argument in call; added loop to
  process all VBA blocks within a stream.   (ms_ole_vba_open):  changed
  call to decompress_vba; moved from code to decompress_vba from here.

* libole2/ms-ole.c: added some additional debug print statements.

* test/test-ole.c (do_dump): Modify streams names for Summary streams
  by preceeding with '\005'.

2000-08-20  Dom Lachowicz <cinamod@hotmail.com>

* libole2/ms-ole.c: prune includes & more fixes for broken BSD.
(ms_ole_open_vfs): conditionaly compile 'prot'

* libole2/ms-ole.h: fixup includes for win32; we should be using
glib types it seems here.

2000-06-28  Arturo Tena  <arturo@directmail.org>

* Makefile.am (EXTRA_DIST): Added libole2.spec and libole2.spec.in.
* configure.in: Autogenerate libole2.spec.
* libole2.spec: Removed.
* libole2.spec.in: Created, use @VERSION@ correctly. Fixed summary,
  description and group. 

* configure.in: bump version to 0.1.6.

2000-06-27  Michael Meeks  <michael@helixcode.com>

* libole2/ms-ole.c (get_next_block): correct commenting
and add error handler. (read_bb): add drop out for serious
corruption.

2000-06-23  Michael Meeks  <michael@helixcode.com>

* test/Makefile.am: update so test can build.

2000-06-23  Michael Meeks  <michael@helixcode.com>

* configure.in: bump version to 0.1.5

* Makefile.am: rename to libgnomeole2

* libole2Conf.sh.in: update.

* libole2-config.in: update.

2000-05-23  John Gotts <jgotts@ww2.tqstats.com>

* libole2.spec: Created.

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.