2001-11-04 Jody Goldberg * Release 0.2.4 2001-10-30 Jody Goldberg * libole2/ms-ole.c (ms_ole_open_vfs) : simplify. 2001-10-20 Morten Welinder * 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 * libole2/ms-ole.c (ms_ole_stream_open) : Be more careful about where we are wiping. 2001-05-28 Nathan Cullen * libole2.spec.in: don't point at sgml files we don't install. 2001-05-19 Michael Meeks * Version 0.2.3 2001-05-19 Michael Meeks * ms-ole.c: Turn churning debug off, doh. 2001-05-19 Michael Meeks * Version 0.2.2 2001-05-19 Michael Meeks * 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 * libole2/ms-ole.c (write_pps): Plug a leak. (Located by Jody.) 2001-04-12 Jody Goldberg * libole2/ms-ole-summary.c (free_write_items) : new function. (ms_ole_summary_close) : call it here. 2001-04-13 jacob berkman * libole2/ms-ole.c (ms_ole_open_vfs): only twiddle the prot if we have mmap 2001-03-30 Michael Meeks * libole2/ms-ole.c (ms_ole_stream_duplicate): constipate some more. 2001-03-29 Michael Meeks * Version 0.2.1 2001-03-29 Michael Meeks * libole2/Makefile.am (libgnomeole2_la_LIBADD): add glib libs as dependant libraries. thanks to David Kaelbling 2001-01-19 Dom Lachowicz * 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 * Version 0.2.0 2001-01-15 Michael Meeks * libole2/ms-ole-vba.c (ms_ole_vba_open): kill compile warnings 2001-01-15 Dom Lachowicz * 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 * libole2/ms-ole.c (take_wrapper_functions): fix evil bug. 2000-12-21 Michael Meeks * 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 * 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 * libole2.spec.in: Fixed an incorrect category. Also some minor build updates. 2000-10-21 Michael Meeks * configure.in: Version to 0.1.7 2000-10-19 Frank Chiulli * 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 * libole2/ms-ole-summary.c (ms_ole_summary_set_boolean): use value instead of 'bool' [ from Dom ] 2000-08-30 Frank Chiulli * 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 * 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 * 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 * 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 * test/Makefile.am: update so test can build. 2000-06-23 Michael Meeks * 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 * libole2.spec: Created. 2000-05-11 Michael Meeks * autogen.sh: hack, evily. * libole2.m4: update. 2000-05-10 Michael Meeks * 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 * 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 * ms-ole.c (read_sb): Fix for files with broken small block descriptors. 2000-04-17 Arturo Tena * 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 * ms-ole.c: Include for memset. 2000-04-01 Michael Meeks * ms-ole-summary.c (ms_ole_summary_open_stream): update for docs. 2000-03-18 Michael Meeks * ms-ole.c (read_bb): Kill assertion in favour of silent leak. 2000-01-17 Frank Chiulli * 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 * ms-ole.c (write_bb): Correct allocation of BBD blocks, take in count the FAT blocks. 1999-12-18 Michael Meeks * ms-ole.c (ms_ole_create_vfs): NULL pointer after free in error state. 1999-12-16 Frank Chiulli * 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 * 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 * 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 * ms-ole.c, ms-ole.h: more documentation. 1999-12-11 Frank Chiulli * 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 * ms-ole.c: s/dump/ms_ole_dump. * ms-ole.h: ditto. 1999-12-13 Arturo Tena * 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 * 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 * ms-ole-summary.c (write_items): Ensure that we write a BB file. 1999-11-17 Arturo Tena * Revert the last change. I will study pps_encode_tree_chain later and purpose a better (and working) solution. 1999-11-16 Arturo Tena * 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 * ms-ole-summary.c: s/section_t/MsOleSummarySection/ update Authors. (seek_to_record): clean to please. 1999-11-14 Frank Chiulli * 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 * ms-ole-summary.c (ms_ole_summary_get_time): Fixed typo. 1999-11-12 Arturo Tena * 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 * 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 * ms-ole-summary.c (ms_ole_docsummary_open): quieten. 1999-11-08 Frank Chiulli * 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 * ms-ole.c: Fixed some OLE_DEBUG #if's. 1999-10-31 Michael Meeks * 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 * 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 * 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 * 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 * ms-ole.c (ms_ole_dump_tree): Added. 1999-10-17 Michael Meeks * ms-ole.c (check_stream): Kill performance comment. (ms_ole_read_ptr_sb): fix blklen init before check. 1999-10-14 Arturo Tena * 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 * Makefile.am: make libole2.a not installed if compiling gnumeric. 1999-10-10 Arturo Tena * Makefile.am (INCLUDES): moved to the conditional section, because it is needed only by gnumeric. 1999-10-10 Arturo Tena * 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 * version.c.in: Added. * version.c: Added, this should allow gnumeric compile. * Makefile.am: added version.c. 1999-10-08 Arturo Tena * Makefile.am: clean up. 1999-10-07 Jody Goldberg * ms-ole.c : Add a libole2_debug debug flag which can optionally enable calles to check_stream. 1999-10-05 Arturo Tena * 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 * 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 * 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 * Makefile.am: install missing headers. 1999-09-26 Arturo Tena * 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 * ms-ole.c (ms_ole_open): Fixed bug: core dumped when called with an inexistent file name. 1999-09-26 Michael Meeks * ms-ole.c (read_bb): Add semicolon after assert. (set_blk_dirty): remove: unused. (dump_header): kill arg. 1999-09-26 Arturo Tena * ms-ole.c (read_bb): Read all the BBD's, including those where are in the additional bbd lists. 1999-09-25 Arturo Tena * gnome-stream-ole.c, gnome-stream-ole.h, gnome-storage-ole.h, gnome-storage-ole.c: Killed again. 1999-09-25 Michael Meeks * Makefile.am (lib_LT_LIBRARIES): Make libole2 install. 1999-09-20 Michael Meeks * 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 * 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 * ms-ole.c (ms_ole_destroy): Paper bag error. 1999-09-19 Michael Meeks * 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 * ms-ole-summary.c (ms_ole_summary_set_string): Remove verbose comments; various cleans. 1999-09-15 Frank Chiulli * 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 * 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 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 * 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 * 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 * gnome-stream-ole.c (gnome_stream_ole_open_create): Fix cockups that broke compile. 1999-08-14 Michael Meeks * 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 * 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 * 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 * 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 * 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 * ms-ole-summary.h: Changed not_available to available, improves legibility. 1999-07-19 Michael Meeks * 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 * ms-ole.c (ms_ole_stream_open_name): Added. (ms_ole_directory_copy): Add. 1999-07-09 Michael Meeks * ms-ole.c (ms_ole_directory_create): Quieten "Trying N to read beyond EOF..." messages. 1999-07-03 Michael Meeks * ms-ole.c (ms_ole_read_copy_sb, ms_ole_read_copy_bb): Added check on ptr. 1999-07-02 Michael Meeks * ms-ole.h: Indented nicely again. 1999-07-03 Michael Meeks * 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 * 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 * ms-ole.c (ms_ole_read_ptr_bb): Stupid bug detecting contiguous blocks ! (ms_ole_read_ptr_sb): ditto. 1999-06-15 Morten Welinder * ms-ole.c (ms_ole_destroy): Plug leak. 1999-06-15 Michael Meeks * 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 * 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 * ms-ole.c (ms_ole_create): Set parent corectly. (ms_ole_directory_create): Set children correctly. 1999-05-25 Michael Meeks * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ms-ole.h: Updated types to forward references. Changed ms_ole_directory_get_root to ms_ole_get_root. 1999-05-13 Michael Meeks * ms-ole.c (ms_ole_new, ms_ole_create, ms_ole_deanalyse): Fatal bug with uninitialised arrays fixed. 1999-05-12 Michael Meeks * 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 * 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 * 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 * 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 * 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 * 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.