2024-02-04 Morten Welinder * Release 1.14.52 2023-11-02 Morten Welinder * configure.ac: Post-release bump. 2023-11-02 Morten Welinder * Release 1.14.51 2023-04-22 Morten Welinder * thumbnailer/main.c (msole_thumbnail): Fix crash. #29. 2023-04-21 Morten Welinder * thumbnailer/main.c (write_thumbnail): Plug leak. (read_thumbnail_and_write): Plug leak. 2022-07-13 Morten Welinder * configure.ac: Post-release bump. 2022-07-13 Morten Welinder * Release 1.14.50 2022-03-20 Morten Welinder * configure.ac: Post-release bump. 2022-03-20 Morten Welinder * Release 1.14.49 2021-12-27 Morten Welinder * configure.ac: Post-release bump. 2021-12-27 Morten Welinder * Release 1.14.48 2021-12-02 Morten Welinder * gsf/gsf-infile-zip.c (gsf_infile_zip_get_property): Add "zip64" property. 2020-03-23 Morten Welinder * configure.ac: Post-release bump. 2020-03-23 Morten Welinder * Release 1.14.47 2020-02-20 Morten Welinder * thumbnailer/main.c (main): Plug leak. * gsf/gsf-infile-msole.c (datetime_from_filetime): Propagate NULL datetime. Fixes #19. 2020-01-28 Morten Welinder * gsf/gsf-docprop-vector.c: ignore deprecation warnings only very locally. 2019-10-18 Morten Welinder * gsf/gsf-output-gzip.c (gsf_output_gzip_class_init): Add "deflate-level" attribute to control compression. Must be set before first write. Based on code from Allin Cottrell. 2019-10-16 Morten Welinder * gsf/gsf-output-memory.c (gsf_output_memory_steal_bytes): New function. Code from Allin Cottrell. 2019-05-04 Morten Welinder * configure.ac: Post-release bump. 2019-05-04 Morten Welinder * Release 1.14.46 2019-02-04 Morten Welinder * tools/gsf-vba-dump.c (test): Fix problem with error reporting. 2018-12-18 Morten Welinder * configure.ac: Post-release bump. 2018-12-18 Morten Welinder * Release 1.14.45 2018-12-17 Morten Welinder * gsf/gsf-outfile-msole.c (gsf_outfile_msole_write): Fix problem with seeks in small blocks. This alone would also have fixed #14. 2018-12-16 Morten Welinder * gsf/gsf-msole-utils.c (msole_prop_parse): Don't convert the terminator. (msole_metadata_write_section): Don't seek beyond end of stream -- use plain writes instead. Fixes #14. 2018-08-08 Morten Welinder * configure.ac: Post-release bump. 2018-08-08 Morten Welinder * Release 1.14.44 2018-08-02 Morten Welinder * gsf/*.h: Drop G_GNUC_CONST annotations on get_type functions. It causes gsf_init_dynamic to be mostly a no-op with some gcc versions. 2018-04-29 Morten Welinder * gsf/gsf-msole-utils.c (msole_metadata_write_string): Write the converted length, not the pre-iconv length. Fixes #795612. 2018-04-19 Morten Welinder * configure.ac: Post-release bump. 2018-04-19 Morten Welinder * Release 1.14.43 2018-04-10 Morten Welinder * gsf/*.c: various introspection fixes, mostly from bug 794777 by Corentin Noël and Rico Tzschichholz. The occasional extra fix by me. 2018-03-22 Morten Welinder * gsf/gsf-input-memory.c (gsf_input_mmap_new): Set modtime. * gsf/gsf-input-stdio.c (gsf_input_stdio_new): Use gsf_input_set_modtime_from_stat. * gsf/gsf-input.c (gsf_input_set_modtime_from_stat): New internal function. 2017-11-11 Morten Welinder * configure.ac: Post-release bump. 2017-11-11 Morten Welinder * Release 1.14.42 2017-01-22 Morten Welinder * gsf/gsf-input-textline.c (gsf_input_textline_read): Make current file position follow the source's. (gsf_input_textline_seek): Ditto. (gsf_input_textline_utf8_gets): Ditto. (gsf_input_textline_dup): Duplicate name too. 2016-12-02 Morten Welinder * configure.ac: Post-release bump. 2016-12-02 Morten Welinder * Release 1.14.41 2016-11-30 Morten Welinder * gsf/gsf-infile-tar.c (tar_directory_for_file): Handle the case where what we expected to be a directory is a file. (That implies a corrupted tar file.) Thanks to Behzad Najjarpour Jabbari, Secunia Research at Flexera Software for discovering this. 2016-08-20 Morten Welinder * configure.ac: Post-release bump. 2016-08-20 Morten Welinder * Release 1.14.40 2016-06-29 Morten Welinder * configure.ac: Post-release bump. 2016-06-29 Morten Welinder * Release 1.14.39 2016-06-17 Morten Welinder * configure.ac: Post-release bump. 2016-06-17 Morten Welinder * Release 1.14.38 2016-06-04 Morten Welinder * gsf/gsf-outfile-zip.c (zip_trailer64_write): Fix ZIP64 EOCD size to exclude leading 12 bytes. From Felix Bünemann * tests/LibGsfTest.pm: Use 7z for archive testing when available. It's stricter. 2016-05-30 Morten Welinder * configure.ac: Post-release bump. 2016-05-30 Morten Welinder * Release 1.14.37 2016-04-18 Morten Welinder * gsf/gsf-infile-tar.c (unpack_octal): Allow a terminating space instead of NUL. Fixes #765099. 2016-02-12 Morten Welinder * configure.ac: Post-release bump. 2016-02-12 Morten Welinder * Release 1.14.36 2016-02-09 Jean Brefort * gsf/gsf-output-gio.c (gsf_output_gio_new_full), (gsf_output_gio_close), (gsf_output_gio_init): Remove the unused GFile member. Fix a few criticals. 2016-02-06 Morten Welinder * gsf/gsf-open-pkg-utils.c (gsf_open_pkg_open_rel): Move parent-reffing to after we handle absolute references. Fixes #761648. * gsf/gsf-libxml.c (gsf_xml_in_doc_parse): Plug leak. 2016-02-06 Morten Welinder * configure.ac: Post-release bump. 2016-02-06 Morten Welinder * Release 1.14.35 2016-01-21 Morten Welinder * tools/gsf.c (main): Set of locale stuff. Patch by Ting-Wei Lan. Also set up gettext stuff. 2016-01-13 Morten Welinder * gsf/gsf-infile-zip.c (gsf_infile_zip_read): Improve error handling. Fixes #760543. 2016-01-01 Morten Welinder * gsf/gsf-msole-utils.c (msole_metadata_write_section): Handle the no-property case sanely. Fixes #760047. 2015-07-28 Morten Welinder * configure.ac: Post-release bump. 2015-07-28 Morten Welinder * Release 1.14.34 2015-07-07 Morten Welinder * gsf/gsf-infile-msole.c (ole_seek_block): Fix seek error check. 2015-07-06 Morten Welinder * gsf/gsf-infile-msole.c (ole_init_info): Add debug code. (gsf_infile_msole_new_child): Fix error check from seek. 2015-07-02 Morten Welinder * gsf/gsf-msole-utils.c (msole_prop_parse): Exit loop if no progress. Fixes #751273. 2015-06-25 Morten Welinder * gsf/gsf-input-textline.c (gsf_input_textline_utf8_gets): Go character-by-character. This is the right thing to do and also prevents stepping past the end. 2015-06-17 Morten Welinder * gsf/gsf-open-pkg-utils.c (gsf_open_pkg_open_rel): Improve handling of absolute references. Fixes #751120. 2015-06-11 Morten Welinder * gsf/gsf-msole-utils.c (msole_prop_read): Fuzzed file fix. Fixes #750809. 2015-05-15 Morten Welinder * gsf/gsf-outfile-zip.c (zip_dirent_write): Fix portability issue. 2015-05-10 Morten Welinder * gsf/gsf-open-pkg-utils.c (open_pkg_rel_begin): Be more careful in removing entries partially overwritten by dupes. [#749183] 2015-05-09 Morten Welinder * gsf/gsf-infile-msvba.c (vba_dir_read): Free only once. (gsf_vba_inflate): Don't crash after error. [#749169] 2015-04-27 Morten Welinder * gsf/gsf-msole-utils.c (msole_prop_read): Reduce size available for property by 4 since that is taken by the typeid. 2015-04-18 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_out_get_output): Doc fix. 2015-04-16 Morten Welinder * configure.ac: Post-release bump. 2015-04-16 Morten Welinder * Release 1.14.33 2015-04-09 Morten Welinder * tests/test-xml.c: Add meaning code in here. * gsf/gsf-libxml.c (gsf_xml_out_end_element): Only indent closing tag if we're at the beginning of the line because we pretty-printed the previous closing tag. (gsf_xml_out_get_pretty_print, gsf_xml_out_set_pretty_print): New convenience functions. 2015-03-30 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_in_doc_add_nodes): Introduce new flag GSF_XML_2ND to explicitly identify duplicate nodes. 2015-03-13 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_in_set_silent_unknowns): New function. 2015-03-04 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_out_add_float): Do a better job of saving all precision. 2015-03-04 Morten Welinder * configure.ac: Post-release bump. 2015-03-04 Morten Welinder * Release 1.14.32 2015-02-22 Morten Welinder * gsf/gsf-open-pkg-utils.c (gsf_outfile_open_pkg_set_content_type): Allow a NULL content type for when defaults cover the file. 2015-02-09 Morten Welinder * gsf/gsf-open-pkg-utils.c (gsf_open_pkg_write_content_override): Release children here, not in gsf_outfile_open_pkg_close. 2015-02-08 Morten Welinder * gsf/gsf-open-pkg-utils.c (gsf_outfile_open_pkg_close): Plug leak. 2015-02-06 Morten Welinder * gsf/gsf-open-pkg-utils.c (gsf_outfile_open_pkg_close): Also add vml extension. * gsf/gsf-libxml.c (gsf_xml_in_start_element): Nodes inside unknown nodes are themselves unknown, even if they would appear to be known had the intervening unknown nodes not been there. In other words: don't lookup nodes while we are parsing an unknown tag's contents. 2015-02-04 Morten Welinder * configure.ac: Post-release bump. 2015-02-04 Morten Welinder * Release 1.14.31 2015-02-01 Morten Welinder * gsf/gsf-infile.c (gsf_infile_child_by_vaname): Fix age-old leak. 2015-01-25 Andreas J. Guelzow * gsf/gsf-opendoc-utils.c (gsf_ooo_ns): add 2 new localc namespaces * gsf/gsf-opendoc-utils.h: add new enum values to support above name spaces) 2014-12-15 Morten Welinder * gsf/gsf-outfile-zip.c (special_mimetype_dirent): New function. (zip_dirent_write, zip_header_write): Don't write a special unix mtime field for the special mimetype entry. (zip_close_root): Sort by offset. Note: this may not be necessary or even desired, but help with the zipdetails utility. (zip_init_write): Make the special mimetype default to !zip64. (gsf_outfile_zip_new): Null the error return value. (zip_dirent_write, zip_header_write): Use extract version 2.0 for the !zip64 case. 2014-12-14 Morten Welinder * gsf/gsf-outfile-zip.c (zip_dirent_write): Fix test for writing ignore header. 2014-12-02 Morten Welinder * tools/gsf.c (gsf_create): Allow "-" for output to stdout. * tests/LibGsfTest.pm (test_valgrind): Dump valgrind output when verbose. * tools/gsf.c (gsf_create): Use our perfectly fine GType macros instead of a home grown enum. 2014-12-01 Morten Welinder * gsf/gsf-output-stdio.c (follow_symlinks): Plug leak. * gsf/gsf-outfile-zip.c (zip_dirent_write): Handle the case of small file beyond offset 4G. The header record won't be zip64, but the dirent needs to. (zip_dirent_write): Mark this entry as needing 4.5 to extract if the central directory entry uses zip64, even if the local header does not. 2014-11-30 Morten Welinder * gsf/gsf-utils.h (GSF_LE_SET_GU?INT{16,32,64}): Add casts to make things more function-like and avoid implementation defined behaviour. * gsf/gsf-outfile-zip.c (zip_dirent_write): The the archive is in auto mode and the member is not using a zip64 extra field, use an IGNORE extra field to work around known zipinfo bug. * tools/gsf.c (gsf_create, load_recursively): Add error checks on close. * gsf/gsf-outfile-zip.c (gsf_outfile_zip_write): When zip64 is forced off, don't allow writing beyond the 4G barrier. (zip_header_write): If we write a real zip64 entry, mark the dirent as being zip64. (zip_close_root): If any dirent is zip64, the archive is. (zip_output_block): Catch overflow of csize. (zip_header_patch_sizes): Resolve zip64 to FALSE if it remained auto until now. 2014-11-29 Morten Welinder * gsf/gsf-outfile-zip.c (zip_header_write): Determine if the sink is seekable. Use a DDESC, if not. * gsf/gsf-output-gio.c (gsf_output_gio_write): Simplify and handle the zero bytes cases better. (gsf_output_gio_new_full): Check seekability here and thus only once. * gsf/gsf-output-iochannel.c (gsf_output_iochannel_seek): Check for is_seekable before trying to do so. * gsf/gsf-outfile-zip.c (gsf_outfile_zip_class_init): Properly install zip64 property. (zip_header_write): Fix auto-zip64 mode's writing of sizes. (zip_ddesc_write): Do write signature. 2014-11-28 Morten Welinder * gsf/gsf-outfile-zip.c (zip_dirent_new_out): Store mtime in zip files, as long as they fit. 2014-11-27 Morten Welinder * gsf/gsf-input.c (gsf_input_copy): Minor cleanups. * tools/gsf.c (load_recursively): Complain if gsf_input_copy fails. 2014-11-23 Morten Welinder * gsf/gsf-infile-zip.c (zip_dirent_new_in): Fix reading of extended field. csize and usize are swapped in there. (zip_dirent_new_in): Read the right amount of variable data. (zip_read_dirents): Check trailer64 signature. * gsf/gsf-outfile-zip.c (zip_dirent_write): Fix file mode. 2014-11-22 Morten Welinder * tools/gsf.c (open_archive): Plug leak. * gsf/gsf-infile-stdio.c (GsfInfileStdio): Use a GPtrArray instead of a list for performance with large directories. 2014-11-20 Morten Welinder * gsf/gsf-input.c (gsf_input_read0): Fix 64-bit issue. * gsf/gsf-utils.c (gsf_input_dump): Fix 64-bit issue. Read larger blocks. * gsf/gsf-infile-zip.c (zip_read_dirents): Handle zip64 format for archives with 65535 or more members. (ZipInfo): Larger fields; use GPtrArray for speed. All users changed. (zip_find_trailer): Fix endianess issue. (gsf_infile_zip_read): Fix 64-bit issue. (zip_dirent_new_in): Handle zip64 extra fields. * gsf/gsf-zip-impl.h (GsfZipVDir): Use a GPtrArray for speed. All users changed. * gsf/gsf-input.c: Update to new introspection syntax. 2014-11-15 Morten Welinder * gsf/gsf-opendoc-utils.c (od_meta_user_defined_end): Plug leak. 2014-11-01 Morten Welinder * gsf/gsf-msole-utils.c (gsf_msole_inflate): Don't place uninitialized values into the output even for corrupted files. * gsf/gsf-input-memory.c (gsf_input_mmap_new): Plug leak. * gsf/gsf-infile-msvba.c (vba_dir_read): Plug leak. * gsf/gsf-structured-blob.c (blob_finalize, blob_dup) (blob_child_by_name, gsf_structured_blob_read): Reduce CRITICALs on corrupted files. 2014-10-28 Morten Welinder * gsf/gsf-utils.c: Avoid deprecated g_type_init. * gsf/gsf-msole-utils.c (msole_prop_parse): Plug leak. 2014-04-17 Morten Welinder * gsf/gsf-outfile-zip.c (gsf_outfile_zip_set_property): Add new property default-level. 2014-03-19 Morten Welinder * configure.ac: Post-release bump. 2014-03-19 Morten Welinder * Release 1.14.30 2014-03-06 Jean Brefort * gsf/gsf-input-http.c (make_local_copy), (gsf_input_http_new): make a local copy. nanohttp does not always report the correct size. [see #724970] 2014-03-05 Morten Welinder * gsf/gsf-input-gio.c (gsf_input_gio_new): Always make local copy. glib reports wrong size. 2014-02-28 Morten Welinder * tools/gsf.c (main): Activate translations. Patch from Juhani Numminen 2014-01-04 Morten Welinder * configure.ac: Post-release bump. 2014-01-04 Morten Welinder * Release 1.14.29 2013-12-14 Morten Welinder * gsf/gsf-open-pkg-utils.c (open_pkg_rel_begin): Handle duplicate or missing id and type. Fixes #720458. 2013-12-07 Morten Welinder * gsf/gsf-utils.h (GSF_LE_GET_GUINT32): cast unsigned char to guint32 before left-shifting by 24. This avoids an implicit cast to int followed by an overflowing left-shift which is undefined in the C standard. 2013-09-13 Morten Welinder * gsf/gsf-infile-zip.c (zip_child_init): Fix translation marking, plug leak. Fixes #706937. 2013-08-23 Morten Welinder * gsf/gsf-outfile-stdio.c (gsf_outfile_stdio_new_valist): Allow the directory to exist. Patch from Allin Cottrell. #706219. 2013-08-01 Morten Welinder * configure.ac: Post-release bump. 2013-08-01 Morten Welinder * Release 1.14.28 2013-08-01 Morten Welinder * configure.ac (set_more_warnings): When checking for warnings flags, include for mingw's benefit. 2013-07-30 Jean Brefort * gsf/gsf-libxml.c (gsf_xml_parser_context_full): allow the huge libxml parser mode so that gnumeric can load large images. [#705100] 2013-07-11 Morten Welinder * gsf/gsf-msole-utils.c (msole_metadata_write_string): Protect against strings that cannot be converted. See bug #703952. 2013-06-25 Andreas J. Guelzow * gsf/gsf-infile-msole.c (gsf_infile_msole_read): use the correct conversion specifier 2013-06-23 Morten Welinder * configure.ac: Post-release bump. 2013-06-23 Morten Welinder * Release 1.14.27 2013-06-23 Morten Welinder * gsf/gsf-infile-ar.[ch]: Delete. 2013-06-21 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_in_end_document): Plug leak. 2013-06-19 Andreas J. Guelzow * gsf/gsf-timestamp.c (gsf_timestamp_load_from_string): perfrom some range checking to avoid crashing in glib. 2013-04-20 Morten Welinder * gsf/gsf-infile-msvba.c (gsf_vba_inflate): Plug multiple leaks. * gsf/gsf-infile-msole.c (gsf_infile_msole_read): Don't read beyond the number of bat blocks we have. (We can have less blocks than expected when the bat chain is found to be circular.) Don't optimize seek; the lower levels will do that just fine. (ole_make_bat): Simplify. 2013-03-08 Morten Welinder * gsf/gsf-input.c (gsf_input_set_modtime): Change to transfer-none semantics. All callers changed. * gsf/gsf-output.c (gsf_output_set_modtime): Change to transfer-none semantics. All callers changed. * gsf/gsf-outfile-msole.c (gsf_outfile_msole_close_root): Set modtime when available. * gsf/gsf-output.c (gsf_output_set_property): Make name property writable. * gsf/gsf-input.c (gsf_input_dup): Simplify. Prevent leak of container ref if derived class set one. 2013-03-07 Morten Welinder * gsf/gsf-utils.c (gsf_property_settings_find): New function. * gsf/gsf-outfile-zip.c (gsf_outfile_zip_new_child): Don't add modtime is caller did. * tools/gsf.c (load_recursively): Simlify using, of all things, gsf. Avoid crazy memory usage. Take care of modtime. 2013-03-04 Morten Welinder * gsf/gsf-infile-tar.c (tar_init_info): Also read mtime from archive. (gsf_infile_tar_child_by_index): Set modtime of input when possible. * tools/gsf.c (ls_R): Print also modtime when available. * gsf/gsf-infile-zip.c (gsf_infile_zip_new_child): Set modtime of child. (zip_dirent_new_in): Read modtime from file. * gsf/gsf-outfile-zip.c (gsf_outfile_zip_new_child): Parent's modtime is child's default. (gsf_outfile_zip_constructor): Default modtime is now. * configure.ac: Check for utime.h and sys/utime.h. Check for stat.st_mtimensec and stat.st_mtim.tv_nsec. * tests/test-cp.c (test): Copy modtime too. * gsf/gsf-input.c (gsf_input_get_property): Add new modtime property. * gsf/gsf-output.c (gsf_output_get_property): Ditto. * gsf/gsf-input-gzip.c (check_header): Set modtime when available. * gsf/gsf-input-stdio.c (gsf_input_stdio_new): Set modtime. * gsf/gsf-output-stdio.c (gsf_output_stdio_close): Set modtime of resulting file. * gsf/gsf-input.c (gsf_input_uncompress): Fix potential failure with bzip'd input. 2013-03-03 Morten Welinder * gsf/gsf-command-context.c: Remove. * gsf/gsf-command-context.h: Remove. * gsf/gsf-io-context.c: Remove. * gsf/gsf-io-context.h: Remove. * gsf/gsf-output-transaction.c: Remove. * gsf/gsf-output-transaction.h: Remove. * gsf/Makefile.am: Remove references to those files. 2013-02-27 Morten Welinder * configure.ac: Post-release bump. 2013-02-27 Morten Welinder * Release 1.14.26 2013-02-25 Jean Brefort * tests/test-msole1.c (test): fix build. 2013-02-23 Morten Welinder * gsf/gsf-infile.c (gsf_infile_child_by_name) (gsf_infile_child_by_vname, gsf_infile_child_by_vaname) (gsf_infile_child_by_aname): Doc improvements. * gsf/gsf-input.c (gsf_input_uncompress): Avoid HAVE_BZ2 conditionals. * gsf/gsf-utils.c (gsf_init_dynamic): Register the tar type too. * gsf/gsf-input.c (gsf_input_read): Detect overflow. 2013-02-20 Morten Welinder * gsf/gsf-msole-utils.c (msole_metadata_write_section): Add sanity check. 2013-02-17 Morten Welinder * configure.ac (set_more_warnings): Improve support for clang. 2013-02-05 Jean Brefort * doc/gsf-sections.txt: fix gtk-doc warnings. * gsf/gsf-opendoc-utils.c: ditto. * tools/gsf.c (get_meta_data): don't use deprecated symbols. 2013-01-26 Morten Welinder * gsf/gsf-outfile-msole.c (ole_write_bat, ole_write_const): Bunch things up as large writes instead of piles of little ones. 2013-01-19 Valek Filippov * gsf/gsf-infile-msvba.c,.h (gsf_vba_inflate): Fix for short streams. 2013-01-15 Jean Brefort * configure.ac: renamed configure.in and update obsolete macros. * configure.in: ditto. 2013-01-07 Morten Welinder * gsf/gsf-output-stdio.c (chown_wrapper): New function. (chmod_wrapper, access_wrapper): Eliminate in favour of g_chmod and g_access. * configure.in: Check for g_chown instead of g_chmod and g_access which we can now assume. * gsf/gsf-infile-zip.c (zip_child_init): Attempt working around another clang false positive. * gsf/gsf-input-memory.c (gsf_input_memory_new_clone): For around a clang false positive. * gsf/*.c: Stop pretending that g_object_new can return NULL. 2013-01-05 Morten Welinder * gsf/gsf-output-gio.c (gsf_output_gio_new_full): New function factored out from gsf_output_gio_new. (gsf_output_gio_new_for_path, gsf_output_gio_new_for_uri): Use gsf_output_gio_new_full for proper error handling. 2013-01-05 Morten Welinder * gsf/gsf-output-gio.c (gsf_output_gio_new_for_uri): Use preconditions for programming errors. (gsf_output_gio_write): Drop unneeded cast. * gsf/gsf-libxml.c (gsf_xml_out_add_gvalue): Deal with G_TYPE_CHAR always being signed char. (gsf_xml_gvalue_from_str): Ditto. * gsf/gsf-msole-utils.c (msole_prop_parse): Ditto. 2013-01-05 Valek Filippov * gsf/gsf-infile-msvba.c,.h (gsf_vba_inflate): Fix based on [MS-OVBA] and test files. Fixes #656531. 2012-12-20 =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= * gsf/gsf-infile-msole.c (ole_seek_block): Factor out from gsf_infile_msole_read. 2012-12-05 Morten Welinder * gsf/gsf-infile-msole.c (gsf_infile_msole_child_by_index) (gsf_infile_msole_name_by_index): Avoid casts. 2012-12-05 Paolo Bonzini * gsf/gsf-infile-msole.c (gsf_infile_msole_dup): Make this a simple wrapper over gsf_infile_msole_dup. Fixes #689706. 2012-11-13 Morten Welinder * configure.in: Post-release bump. 2012-11-13 Morten Welinder * Release 1.14.25 2012-10-28 Morten Welinder * gsf/gsf-msole-utils.c (msole_metadata_write_string): Pad to 4-byte boundary if char_size>1 as per spec. 2012-10-27 Morten Welinder * gsf/gsf-msole-utils.c (msole_metadata_write_string): New function to take codepage into account. (msole_metadata_write_prop, cb_write_dict): Use msole_metadata_write_string. * gsf/gsf-doc-meta-data.c (gsf_doc_meta_data_insert): Initialize ->ref_count. 2012-10-16 Morten Welinder * tools/gsf.c (main): Add commands to create zip and ole files. Patch from jorilx@gmail.com, see bug 683788. 2012-09-03 Morten Welinder * configure.in: Post-release bump. 2012-09-03 Morten Welinder * Release 1.14.24 2012-08-02 Jean Brefort * doc/Makefile.am: fixed as many introspection and gtk-doc issues as possible. * doc/gsf-sections.txt: ditto. * gsf/Makefile.am: ditto. * gsf/gsf-blob.c: ditto. * gsf/gsf-blob.h: ditto. * gsf/gsf-clip-data.c: ditto. * gsf/gsf-clip-data.h: ditto. * gsf/gsf-infile-msvba.c (gsf_input_find_vba): ditto. * gsf/gsf-infile-zip.c (vdir_insert), (zip_info_unref): ditto. * gsf/gsf-libxml.c (gsf_xml_gvalue_from_str), (gsf_xml_out_get_output): ditto. * gsf/gsf-msole-utils.c (msole_prop_parse), (gsf_doc_meta_data_read_from_msole), (gsf_msole_metadata_read), (gsf_doc_meta_data_write_to_msole), (gsf_msole_metadata_write): * gsf/gsf-msole-utils.h: ditto. * gsf/gsf-open-pkg-utils.h: ditto. * gsf/gsf-opendoc-utils.c (gsf_odf_get_version_string), (gsf_odf_get_version), (get_gsf_odf_version), (gsf_odf_get_ns), (get_gsf_ooo_ns), (gsf_doc_meta_data_odf_subtree), (gsf_opendoc_metadata_subtree), (gsf_doc_meta_data_read_from_odf), (gsf_opendoc_metadata_read), (gsf_doc_meta_data_write_to_odf), (gsf_opendoc_metadata_write): ditto. * gsf/gsf-opendoc-utils.h: ditto. * gsf/gsf-outfile-zip.c (gsf_outfile_zip_finalize), (gsf_outfile_zip_new_child): ditto. * gsf/gsf-timestamp.c (gsf_timestamp_load_from_string), (gsf_timestamp_from_string), (gsf_timestamp_parse), (gsf_timestamp_to_value): ditto. * gsf/gsf-timestamp.h: ditto. * gsf/gsf-utils.c (gsf_init_dynamic): ditto. * gsf/gsf-zip-impl.h: ditto. * gsf/gsf-zip-utils.c (gsf_vdir_free), (gsf_zip_vdir_free), (gsf_zip_vdir_copy), (gsf_zip_vdir_destroy), (gsf_zip_vdir_get_type), (gsf_vdir_add_child), (gsf_zip_vdir_add_child): ditto. * gsf/gsf.h: ditto. * thumbnailer/main.c (msole_thumbnail): ditto. 2012-07-20 Jean Brefort * all files: fix introspection and gtk-doc warnings. 2012-05-22 Andreas J. Guelzow * gsf/gsf-opendoc-utils.c (gsf_xml_out_add_gvalue_for_odf): new (meta_write_props_user_defined): use gsf_xml_out_add_gvalue_for_odf (meta_write_props): use gsf_xml_out_add_gvalue_for_odf 2012-05-21 Jean Brefort * configure.in: copied code from introspection.m4 2012-05-18 Jean Brefort * Makefile.am: enhance introspection build support. * configure.in: ditto. * gsf/Makefile.am: ditto. 2012-04-19 Morten Welinder * configure.in: Post-release bump. 2012-04-19 Morten Welinder * Release 1.14.23 2012-03-31 Andreas J. Guelzow * gsf/gsf-opendoc-utils.c (od_meta_user_defined): default to G_TYPE_NONE (od_meta_user_defined_end): Check for "GSF_DOCPROP_VECTOR:" and handle accordingly (meta_write_props_user_defined): code extracted from meta_write_props (meta_write_props): use meta_write_props_user_defined and handle GSF_DOCPROP_VECTOR_TYPE 2012-03-25 Morten Welinder * configure.in (test_python): Disable by default. Patch from Alban Browaeys in #672663. 2012-03-21 Morten Welinder * gsf/gsf-opendoc-utils.h (GsfODFOut): New object class. * gsf/gsf-opendoc-utils.c (gsf_opendoc_metadata_write): change output argument type to "gpointer" so we can take either GsfXMLOut or GsfODFOut. Get the odf version from the output if that happens to be a GsfODFOut. * gsf/gsf-libxml.c (gsf_xml_out_class_init): Install new property "sink". (gsf_xml_out_new): Just call g_object_new. * gsf/gsf-libxml.h (GsfXMLOut): Make this just public enough that we can derive from it. 2012-03-20 Morten Welinder * configure.in (libgsf_reqs): Fix glib dependency. * gsf/gsf-timestamp.c (gsf_timestamp_from_string): Reimplement based on glib's GDateTime. Fixes time-shift part of #671860. 2012-03-10 Jean Brefort * gsf/Makefile.am: make introspection work when libgsf is not installed. [#671698] 2012-02-06 Jean Brefort * configure.in: apply patch from Alan Knowles to add gobject introspection support. [#610340] * gsf/Makefile.am: 2011-12-15 Morten Welinder * configure.in: Post-release bump. 2011-12-15 Morten Welinder * Release 1.14.22 2011-12-08 Morten Welinder * gsf/gsf-infile-msole.c (ole_dirent_cmp): Use gsf_msole_sorting_key_cmp. * gsf/gsf-msole-utils.c (gsf_msole_sorting_key_new) (gsf_msole_sorting_key_free, gsf_msole_sorting_key_cmp): New functions. * gsf/gsf-outfile-msole.c (make_sorting_name): New function. (gsf_outfile_msole_constructor): New function. (gsf_outfile_msole_class_init): Hook up constructor. (GsfOutfileMSOle): Add a key member. (ole_name_cmp): Use gsf_msole_sorting_key_cmp. Fixes #665712. 2011-12-07 Morten Welinder * gsf/gsf-input-memory.c: Drop HAVE_BROKEN_MMAP -- FreeBSD was fixed 8+ years ago, so this code isn't being run. * gsf/gsf-utils.c: Assume HAVE_G_BASE64_ENCODE. * gsf/*.c: Eliminate pointless G_OBJECT casts. * configure.in: Require glib 2.16 for g_strcmp0. * gsf/gsf-input.c (gsf_input_dispose): Rename from gsf_input_finalize and hook up accordingly. (gsf_input_set_name): Notify the property if changed. * gsf/gsf-output.c (gsf_output_set_name): Notify the property if changed. (gsf_output_set_name_from_filename): Base of gsf_output_set_name. 2011-11-08 Morten Welinder * gsf/gsf-input-gio.c (gsf_input_gio_read): Handle unexpected EOF from source. Never request more than gio is documented to handle. (make_local_copy): Set name from file. 2011-09-08 Morten Welinder * configure.in: Switch to AM_MAINTAINER_MODE([enable]). 2011-07-01 Morten Welinder * thumbnailer/main.c (set_resource_limits): Fix conditional. 2011-05-21 Morten Welinder * gsf-win32/gsf-output-win32.c (gsf_output_istream_set_error): Use proper format string. * gsf-win32/gsf-input-win32.c (hresult_to_gerror): Ditto. 2011-05-20 Morten Welinder * configure.in: Post-release bump. 2011-05-20 Morten Welinder * Release 1.14.21 2011-05-10 Andreas J. Guelzow * gsf/gsf-opendoc-utils.c (get_gsf_odf_version_string): bump to 1.2 (get_gsf_odf_version): bump to 1.2 2011-05-09 Andreas J. Guelzow * gsf/gsf-opendoc-utils.c (od_meta_user_defined): check for all ODF defined value types and use the correct attribute name (meta_write_props): use the correct attribute name 2011-05-09 Andreas J. Guelzow * gsf/gsf-opendoc-utils.c (od_meta_user_defined): initialize type and name. 2011-05-02 Jean Brefort * gsf/gsf-impl-utils.h: fix GSF_DYNAMIC_CLASS_FULL to make gcc-4.6 happy. 2011-04-05 Morten Welinder * Makefile.am: ${ACLOCAL_FLAGS}, not $(ACLOCAL_FLAGS) which seems to matter to Gentoo. Fixes #645777. 2011-03-28 Morten Welinder * configure.in: Implement --without-gconf (as opposed to looking for gconftool-2. 2011-03-24 Morten Welinder * Release 1.14.20 2011-03-24 Morten Welinder * configure.in: Post-release bump. 2011-03-11 Morten Welinder * gsf/gsf-opendoc-utils.c (od_meta_user_defined_end): Create a value of the requested type. (od_meta_user_defined): Handle the meta:type attribute. (GsfOOMetaIn): Add new member "typ". (meta_write_props): Fix typo. 2010-12-17 Morten Welinder * tests/test-outmem-printf.c (test): Attempt a leak fix. 2010-11-10 Morten Welinder * gsf/gsf-msole-utils.c (msole_prop_parse): Handle NULL error message without crashing. [#634435] Patch by Caolan McNamara. 2010-09-25 Morten Welinder * configure.in: Post-release bump. 2010-09-25 Morten Welinder * Release 1.14.19 2010-09-25 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_in_start_element): Don't complain over elements in unknown namespaces. 2010-09-15 Andreas J. Guelzow * gsf/gsf-opendoc-utils.c (gsf_ooo_ns): add another one of OOo's namespaces * gsf/gsf-opendoc-utils.h: add new enum value to support above name spaces) 2010-08-28 Morten Welinder * gsf/gsf-impl-utils.h (GSF_CLASS_FULL): Don't use C89 argument lists. * gsf/gsf-output-bzip.c (gsf_output_bzip_close): Rework previous change. We do not want two prototypes. 2010-08-15 Andreas J. Guelzow * gsf/gsf-opendoc-utils.c (gsf_ooo_ns): add some more of OOo's namespaces * gsf/gsf-opendoc-utils.h: add new enum values to support above name spaces) * gsf/gsf-output-bzip.c (gsf_output_bzip_close): quieten compile 2010-07-28 Morten Welinder * gsf/gsf-utils.c (gsf_debug_flag): New function. * gsf/gsf-libxml.c (gsf_xml_in_start_element): Don't complain over missing namespace uris unless a debug flag is set. 2010-04-07 Morten Welinder * configure.in: Post-release-bump. 2010-04-07 Morten Welinder * Release 1.14.18 2010-04-06 Morten Welinder * gsf/gsf-outfile-zip.c (zip_header_write, zip_dirent_write): Use dirent->flags for consistency. Fixes #614968. (zip_dirent_update_flags): New function. (zip_dirent_new_out): Deduce dirent->flags. * gsf/gsf-infile-zip.c (zip_dirent_new_in): Read dirent->flags. 2010-04-05 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_out_add_cstr): Fix win32 warning about format. 2010-02-13 Morten Welinder * configure.in: Post-release-bump. 2010-02-13 Morten Welinder * Release 1.14.17 2009-11-18 Morten Welinder * gsf/gsf-doc-meta-data.c (gsf_doc_meta_data_foreach): Sort the key-value pairs. 2009-11-17 Andreas J. Guelzow * autogen.sh: allow dirs on PATH to have spaces withou causing warning 2009-10-29 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_probe_element): Fix crash on documents like 2009-10-11 Morten Welinder * Release 1.14.16 2009-09-25 Morten Welinder * thumbnailer/main.c (call_convert): Use gdk_pixbuf if available. 2009-09-25 Morten Welinder * configure.in (libgsf_gnome_reqs): Remove gnome-vfs stuff. Fixes #593480 2009-09-22 Andreas J. Guelzow * gsf/gsf-opendoc-utils.c (gsf_ooo_ns): add variant of OO_NS_FIELD 2009-08-20 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_in_start_element): Complain to stderr, not stdout. Fixes #592471. 2009-06-20 Morten Welinder * configure.in: Post-release-bump. 2009-06-20 Morten Welinder * Release 1.14.15 2009-06-17 Morten Welinder * gsf/gsf-msole-utils.c (msole_prop_parse): Use gsf_timestamp_new and gsf_timestamp_set_time. * gsf/gsf-timestamp.c (gsf_timestamp_from_string): Improve error checking. (gsf_timestamp_set_time): New function. (gsf_timestamp_new): New function. 2009-06-05 Morten Welinder * gsf/gsf-msole-utils.c (msole_prop_parse): If parsing fails, don't return a bogus value. Fixes #584848. 2009-05-26 Andreas J. Guelzow * gsf/gsf-opendoc-utils.h (gsf_odf_version): deleted (gsf_odf_version_string): deleted (get_gsf_ooo_ns): new (get_gsf_odf_version_string): new (get_gsf_odf_version): new 2009-05-25 Andreas J. Guelzow * gsf/gsf-opendoc-utils.[ch]: replace GSF_ODF_VERSION with a variable 2009-05-25 Andreas J. Guelzow * gsf/gsf-opendoc-utils.[ch]: replace GSF_ODF_VERSION_STRING with the varaible gsf_odf_version_string and turn GSF_ODF_VERSION into an enum. 2009-05-24 Andreas J. Guelzow * gsf/gsf-opendoc-utils.c (gsf_opendoc_metadata_write): use GSF_ODF_VERSION_STRING * gsf-opendoc-utils.h (GSF_ODF_VERSION): new and bump to 1.1 (GSF_ODF_VERSION_STRING): new 2009-05-23 Morten Welinder * configure.in: Psot-release bump. 2009-05-23 Morten Welinder * Release 1.14.14 2009-05-16 Andreas J. Guelzow * gsf/gsf-opendoc-utils.h: add namespace enumeration constant for new OOo and Gnumeric namespaces * gsf/gsf-opendoc-utils.c (gsf_ooo_ns): add new namespaces for OOo and Gnumeric 2009-05-13 Andreas J. Guelzow * gsf/gsf-libxml.c (gsf_xml_out_start_element): remove erroneous g_return_if_fail. Note that some part of the code specifically handles that situation. (close_tag_if_neccessary): If we are in GSF_XML_OUT_CHILD we need not close the tag 2009-05-10 Andreas J. Guelzow * gsf/gsf-opendoc-utils.h: add namespace enumeration constant for MSOXL * gsf/gsf-opendoc-utils.c (gsf_ooo_ns): add namespace for MSOXL 2009-05-10 Andreas J. Guelzow * gsf/gsf-opendoc-utils.c (gsf_opendoc_meta_dtd): scan meta's children for more namespaces to handle CleverAge's files. 2009-05-10 Andreas J. Guelzow * gsf/gsf-opendoc-utils.h: add more new namespace enumeration constants * gsf/gsf-opendoc-utils.c (gsf_ooo_ns): add more new namespaces 2009-05-10 Andreas J. Guelzow * gsf/gsf-opendoc-utils.h: add new namespace enumeration constants * gsf/gsf-opendoc-utils.c (gsf_ooo_ns): add new namespaces 2009-05-06 Morten Welinder * configure.in : post release bump 2009-05-06 Morten Welinder * Release 1.14.13 2009-05-06 Andreas J. Guelzow Fixes #581530 * gsf/gsf-opendoc-utils.c (gsf_opendoc_meta_dtd): split into gsf_opendoc_meta_dtd and gsf_opendoc_meta_st_dtd (gsf_opendoc_metadata_subtree_free): free the state not the doc (gsf_opendoc_metadata_subtree): use your own dtd (gsf_opendoc_metadata_subtree_internal): new 2009-04-28 Emmanuel Pacaud Add doap file. 2009-04-25 Morten Welinder * configure.in : post release bump 2009-04-25 Morten Welinder * Release 1.14.12 2009-04-25 Morten Welinder * gsf/gsf-input-memory.c (gsf_input_memory_new_clone): Fix preconditions. Always allocate at least one byte. Avoid cast. Fixes #580228. 2009-04-17 Morten Welinder * gsf/gsf-output.c (gsf_output_set_error): Fix allocation method problem for errors. Fixes #579155. 2009-04-15 Morten Welinder * gsf/gsf-infile-msole.c (gsf_infile_msole_new_child): Fix a couple of warnings. 2009-04-13 Andreas J. Guelzow * gsf/gsf-opendoc-utils.c (GsfOOMetaIn): added field (od_meta_user_defined): implement (od_meta_user_defined_end): new (gsf_opendoc_meta_dtd): handle "user-defined" completely (gsf_opendoc_metadata_read): initialize state.name 2009-04-11 Jody Goldberg * gsf/gsf-libxml.c (lookup_child) : handle namespace uri being declared as both default and explict prefix. 2009-02-07 Morten Welinder * configure.in (bonobo): auto-detect. 2009-02-19 Jody Goldberg * gsf/gsf.h : document the members of timestamp to avoid gtk-doc warnings. * gsf/gsf-timestamp.c (gsf_timestamp_from_string) : renamed from. (gsf_timestamp_parse) : here, and this is deprecated. 2009-02-18 Jody Goldberg * gsf/gsf-infile-msole.c (gsf_infile_msole_new_child) : Handle small-block files that are not block aligned. [#572290] 2009-02-04 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_out_add_cstr): Drop characters that xml 1.0 cannot represent. Bandaids #568919. 2009-01-30 J.H.M. Dassen (Ray) * gsf/gsf-output-csv.c (gsf_output_csv_quoting_mode_get_type): Declare "values" as static, as the second argument to g_enum_register_static may not be stack-allocated, because GObject keeps a reference to the data. This fixes a problem generating the documentation in some environments; see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39015 . 2009-01-26 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_in_characters): Handle the case where we get here without being initialized. See 568994. (gsf_xml_in_end_document): Mark ourselves uninitialized here. 2009-01-06 Jody Goldberg * configure.in : post release bump 2009-01-06 Jody Goldberg * Release 1.14.11 2009-01-02 Jody Goldberg * gsf/gsf-open-pkg-utils.c (gsf_open_pkg_open_rel) : clean up the logic to handle rels with empty components, leading '/', or '.' to deal with POI generated files. 2008-12-25 Morten Welinder * configure.in (statfs): Fix detection for Darwin. Fixes #565603. * gsf-gnome/gsf-input-gnomevfs.h, gsf-gnome/gsf-output-gnomevfs.h: Fix compilation in gnome case. Fixes #565605. 2008-12-24 Morten Welinder * gsf/gsf-input-gio.c (make_local_copy): Use larger buffer. (gsf_input_gio_new, gsf_input_gio_new_for_path, gsf_input_gio_new_for_uri): Use g_return_val_if_fail as appropriate. * gsf/gsf-input-stdio.c (make_local_copy): New function. (gsf_input_stdio_new, gsf_input_stdio_new_FILE): Use make_local_copy for non-regular files. 2008-12-14 Morten Welinder * */*.c: Clean up glib includes. Patch from Pedro Fragoso. Fixes #564004. 2008-11-23 Jody Goldberg * gsf/gsf-utils.c (DllMain): glib-2.18 deprecated G_WIN32_DLLMAIN_FOR_DLL_NAME, create a DllMain ourselves to capture the dll handle. (gsf_init): use it here with g_win32_get_package_installation_directory_of_module. * configure.in : add MSGs for the preceding bz2 test. 2008-11-23 Jody Goldberg From : Richard W.M. Jones * configure.in : AC_CHECK_LIB doesn't work with the Windows port of libbz2 because dnl it uses the __stdcall calling convention. 2008-11-08 Morten Welinder * gsf/gsf-output-bzip.c: Pretend to use args in the don't-have-bzip case. * gsf/gsf-intput-bzip.c: Pretend to use args in the don't-have-bzip case. 2008-11-05 Morten Welinder * */*.c: Fix problem with formats. Based on patch from Hib Eris, #559291. 2008-10-30 Morten Welinder * gsf/gsf-output-stdio.c (rename_wrapper): Only use statfs if it is the expected two-argument kind. Fixes #558253. 2008-10-23 J.H.M. Dassen (Ray) * gsf/gsf-utils.c: Natural endian doubles aren't just used on VFP enabled ARM, but on ARM with EABI as well. Adjust the logic for defining G_FLOAT_BYTE_ORDER accordingly. Patch courtesy of Riku Voipio . (Debian #503144) 2008-10-19 Jody Goldberg * Release 1.14.10 2008-10-17 Andreas J. Guelzow * gsf-gnome/gsf-input-gnomevfs.h: add #define if LIBGSF_GNOMEVFS_VIA_GIO is defined 2008-10-17 Morten Welinder * gsf-gnome/Makefile.am: Don't compile the gnomevfs part unless asked to. 2008-10-16 Morten Welinder * configure.in: Define LIBGSF_GNOMEVFS_VIA_GIO via command line, if needed. * gsf-gnome/gsf-output-gnomevfs.h: Don't include config file. Get LIBGSF_GNOMEVFS_VIA_GIO from command line. * gsf-gnome/gsf-input-gnomevfs.h: Ditto. 2008-10-05 Morten Welinder * gsf/gsf-infile-msole.c (ole_info_read_metabat): Use g_warning, not g_return_val_if_fail. Fixes #554848. 2008-09-28 Morten Welinder * tools/gsf.c (ls_R): Handle NULL children. Fixes #553861. 2008-09-24 Morten Welinder * gsf/gsf-infile-tar.c (unpack_octal): Add error check. Fixes #553655. * tools/gsf.c (open_archive): Also try tar file format. * gsf/gsf-infile-tar.[ch]: New files. 2008-09-14 Gil Forcada * configure.in: * po/LINGUAS: Added support for po/LINGUAS file, closing #551577. 2008-09-12 Jody Goldberg * gsf/gsf-msole-utils.c (gsf_msole_iconv_get_codepage_string_list) : We intentionally fallthrough to the next case. 2008-09-11 Jody Goldberg * gsf/gsf-msole-utils.c (msole_prop_read) : local variable shadowed a poorly named parameter. It wasn't a bug, but it can't hurt to fix it. [Coverity #189] 2008-09-10 Jody Goldberg * gsf/gsf-output.c (gsf_output_real_vprintf) : add va_end after the G_VA_COPY. [Coverity #250] * gsf/gsf-output-memory.c (gsf_output_memory_vprintf) : ditto. [Coverity #251] 2008-09-03 Morten Welinder * gsf/gsf-output-stdio.c (rename_wrapper): Work around sshfs brokenness. Fixes #509883. 2008-08-30 Jody Goldberg * configure.in : Post release bump 2008-08-29 Jody Goldberg * Release 1.14.9 2008-08-28 Morten Welinder * configure.in (GNOMEVFS_REQ, BONOBO_REQ): Define as needed. * libgsf-gnome-1.pc.in: Use the above. 2008-08-28 Jody Goldberg * gsf/gsf-libxml.c (gsf_xml_in_doc_add_nodes) : new, split from gsf_xml_in_doc_new to facilitate splitting node sets so that they can be used in multiple situations. 2008-08-24 Jody Goldberg * gsf/gsf-infile-msvba.c (gsf_input_find_vba) : move this here from tools/gsf-vba-dump. (gsf_infile_msvba_get_modules) : new. (vba_extract_module_source) : store the code rather than dumping it to stdout. * tools/gsf-vba-dump.c (test) : use the new utilities. (cb_dump_vba) : do the dumping here. 2008-07-28 Hubert Figuiere * thumbnailer/gsf-office-thumbnailer.schemas.in: * thumbnailer/main.c (zip_thumbnail): Add support for OpenPkg (MS Office Open XML) thumbnailing. 2008-07-19 Jody Goldberg * gsf/gsf-open-pkg-utils.c : Some components do not have relations. Do not generate a warning. e.g. foreach_rel in an empty sheet. 2008-07-18 Dominic Lachowicz * gsf/gsf-input-gio.c (gsf_input_gio_new): Don't leak @input if we're going to make a local copy of the requested file 2008-07-02 Morten Welinder * gsf-gnome/gsf-output-gnomevfs.c: Use gio, not gnomevfs, when LIBGSF_GNOMEVFS_VIA_GIO is defined. * gsf-gnome/gsf-input-gnomevfs.c (gsf_input_gnomevfs_new, gsf_input_gnomevfs_new_uri): Call gsf_input_gio_new_for_uri, not gsf_input_gio_new_for_path. 2008-07-01 Jody Goldberg * gsf/gsf-open-pkg-utils.c (gsf_open_pkg_open_rel) : make public. (gsf_open_pkg_foreach_rel) : new. 2008-06-30 Jody Goldberg * gsf/gsf-infile.c (gsf_infile_child_by_aname) : new. (gsf_infile_child_by_vaname) : new. 2008-06-13 Jody Goldberg * tests/test-msole1.c : * tests/test-http.c : * tests/test-zip1.c : * tests/test-gzip1.c : * tests/test-gzip2.c : * tests/test-bzip.c : * tests/test-msvba.c : Clear error after use in preparation for the next file. 2008-06-08 Kjartan Maraas * configure.in: Add nb to ALL_LINGUAS. 2008-05-20 Tor Lillqvist * libgsf-zip.in: Message catalogs nowadays end up in share/locale as they should, not lib/locale. 2008-05-04 Jody Goldberg * tools/gsf-vba-dump.c (test) : support MS OOX. 2008-04-13 Morten Welinder * gsf/gsf-utils.c (gsf_init): Run-time test for gsf_le_get_double. Might save __arm__ people some head scratching. 2008-04-09 Morten Welinder * configure.in: Reorganize gnome-vfs/bonobo checks. * gsf-gnome/gsf-input-gnomevfs.c (gsf_input_gnomevfs_new_uri): Prepare for making this a simple wrapper over gio. * gsf/gsf-utils.c (gsf_base64_decode_step): Use g_base64_decode_step when available. (gsf_base64_encode_step): Use g_base64_encode_step when available. (gsf_base64_encode_close): Use g_base64_encode_close when available. 2008-03-17 Dominic Lachowicz * tests/Makefile.am: libgsf-gio-1.la doesn't exist any more 2008-03-17 J.H.M. Dassen (Ray) * libgsf-gio-1.pc.in: No longer needed. * configure.in, Makefile: Drop references to it. 2008-03-16 Morten Welinder * gsf/Makefile.am: Don't install gio support in its own library. 2008-03-06 J.H.M. Dassen (Ray) * doc/gsf-vba-dump.1: New. 2008-03-14 Dominic Lachowicz * libgsf-gio-1.pc.in: * tests/test-gio.c: * tests/test-gvfs.c: * tests/Makefile.am: * gsf/gsf-output-gio.h: * gsf/Makefile.am: * gsf/gsf-input-gio.c: * gsf/gsf-output-gio.c: * gsf/gsf-input-gio.h: * gsf-gvfs: * configure.in: * Makefile.am: * libgsf-gvfs-1.pc.in: Migrate names from "gvfs" to "gio"; move GIO code to gsf/ and get rid of gsf-gvfs/ 2008-03-14 Dominic Lachowicz * gsf-gvfs/gsf-input-gvfs.c: * gsf-gvfs/gsf-output-gvfs.c: g_file_new() functions cannot fail 2008-03-14 Dominic Lachowicz * tests/Makefile.am: * gsf-gvfs/gsf-input-gvfs.c: * gsf-gvfs/gsf-output-gvfs.c: * gsf-gvfs/gsf-input-gvfs.h: * gsf-gvfs/gsf-output-gvfs.h: * gsf-gvfs/Makefile.am: * configure.in: * Makefile.am: Update GIO backend to use glib 2.16's API 2008-03-06 J.H.M. Dassen (Ray) * doc/gsf.1: Fixed typo in font setting. * doc/gsf-office-thumbnailer.1, doc/gsf.1: Define .URL macro when not already defined by the man implementation and use it for hyperlinks. 2008-03-05 Morten Welinder * configure.in: Post release bump. 2008-03-05 Morten Welinder * Release 1.14.8 2008-02-07 Morten Welinder * gsf/gsf-infile-msole.c (ole_dirent_new): Add new argument to keep track of what entries we have seen before. All callers changed. Check for loops. Handle overflow in block computation. Fixes #513831. (ole_init_info): Sanity check num_sbat too. 2007-12-07 Jody Goldberg * gsf/gsf-infile-msole.c (ole_make_bat) : be more forgiving of failure. We do not need to abort completely on a cycle, just truncate. 2007-11-22 Jody Goldberg * gsf/gsf-libxml.c (gsf_xml_out_add_enum) : ref/unref the type class. Peek does not seem sufficient to fully instantiate it. 2007-11-10 Morten Welinder * tools/gsf.c (gsf_dump_props): Let 'gsf listprops archive' print a list of properties. (gsf_list_props): New function. (gsf_help): Update accordingly. * gsf/gsf-msole-utils.c (msole_debug): New function. (msole_prop_parse): Use msole_debug so we don't print scale messages unless we want to. 2007-11-02 Morten Welinder * gsf/gsf-output-csv.c (gsf_output_csv_set_sink): Allow setting a NULL sink. 2007-10-29 Morten Welinder * gsf/gsf-input-http.c (gsf_input_http_finalize): Let g_free handle NULL. * gsf/gsf-outfile-msole.c (gsf_outfile_msole_finalize): Let g_slist_free handle empty lists too. 2007-10-27 Morten Welinder * gsf/gsf-msole-utils.c (msole_prop_parse): Improve sanity checks. [#404934] 2007-10-27 Jody Goldberg * gsf-win32/Makefile.am : Only install headers on win32. [#459771] 2007-10-27 Jody Goldberg * gsf/gsf-opendoc-utils.c : Add urn:oasis:names:tc:opendocument:xmlns:presentation:1.0 2007-10-15 Morten Welinder * gsf/gsf-msole-utils.c (gsf_msole_metadata_read): Sanity check sections without hitting g_return_val_if_fail. Probably fixes #485964. 2007-09-25 Jody Goldberg * gsf/gsf-outfile-stdio.c (gsf_outfile_stdio_new_child) : use it for standard children too. 2007-09-19 Dom Lachowicz * gsf/gsf-outfile-stdio.c (gsf_outfile_stdio_new_child): Pass the va_list to the child 2007-09-07 Jody Goldberg * configure.in : post release bump 2007-09-07 Jody Goldberg * Release 1.14.7 2007-09-07 Jody Goldberg * gsf/gsf-libxml.c (gsf_xml_out_start_element) : Good grief. Overzealous renaming breaks all xml output. 2007-09-04 Jody Goldberg * gsf/gsf-open-pkg-utils.c (gsf_outfile_open_pkg_add_extern_rel) : add some docs. * gsf/gsf-libxml.c : s/xml/xout/ to placate gtk-doc. 2007-09-03 Jody Goldberg * configure.in : post release bump 2007-09-03 Jody Goldberg * Release 1.14.6 2007-08-30 Jody Goldberg * gsf/gsf-open-pkg-utils.c (gsf_outfile_open_pkg_relate) : handle relative paths better. (open_pkg_rel_begin) : init rel::is_extern. (open_pkg_rel_begin) : parse and store TargetMode as is_extern. (gsf_open_pkg_rel_is_extern) : new. (gsf_open_pkg_rel_get_target) : new. (gsf_open_pkg_rel_get_type) : new. (gsf_open_pkg_lookup_rel_by_type) : new. (gsf_open_pkg_lookup_rel_by_id) : new. (gsf_open_pkg_open_rel_by_id) : renamed from ... (gsf_open_pkg_get_rel_by_id) : which was deprecated because the name was unclear. (gsf_open_pkg_open_rel_by_type) : renamed from ... (gsf_open_pkg_get_rel_by_type) : which was deprecated because the name was unclear. (GsfOutfileOpenPkgRel) : delete. (gsf_outfile_open_pkg_close) : use straight GsfOpenPkgRel and export the TargetMode for is_extern. (gsf_outfile_open_pkg_create_rel) : new. (gsf_outfile_open_pkg_add_extern_rel) : new. * gsf/gsf-libxml.c (gsf_xml_out_get_output) : new. 2007-07-29 J.H.M. Dassen (Ray) * configure.in: Resync ALL_LINGUAS with po files. 2007-07-24 Jody Goldberg From coverity * gsf/gsf-msole-utils.c (cb_write_dict) : fix buffer overrun that would overwrite a variable with itself +1 2007-07-22 Jody Goldberg * gsf/gsf-input-memory.c (gsf_input_memory_new_clone) : add some safety checks against invalid parameters. 2007-07-20 Dom Lachowicz * gsf-gvfs/gsf-input-gvfs.c: Make a local copy of the stream if it's not seekable * gsf-gvfs/gsf-output-gvfs.c: Use replace() instead of create() when creating streams. create() won't overwrite an existing file. Document limitations regarding seeking. 2007-07-14 Jean Brefort * configure.in: always initialize have_gvfs. 2007-07-12 Dom Lachowicz * gsf-gvfs/gsf-input-gvfs.c: * gsf-gvfs/gsf-input-gvfs.h: * gsf-gvfs/gsf-output-gvfs.c: * gsf-gvfs/gsf-output-gvfs.h: * gsf-gvfs/Makefile.am: * libgsf-gvfs-1.pc.in: * Makefile.am: * configure.in: New GVFS-based backend * tests/test-gvfs.c: * tests/Makefile.am: Small test harness for the new GVFS-based backend 2007-07-10 Jody Goldberg * configure.in : post release bump 2007-07-10 Jody Goldberg * Release 1.14.5 2007-07-05 Jody Goldberg * python/gsfmodule.c : warning suppression. 2007-06-30 Jody Goldberg * gsf/gsf-output-csv.c (gsf_output_csv_quoting_mode_get_type) : missed converting this back from a dynamic type. 2007-06-30 Jody Goldberg * gsf/gsf-open-pkg-utils.c (gsf_outfile_open_pkg_set_sink) : fix a doc build error. 2007-06-30 Jody Goldberg * configure.in : fix --without-bonobo case in the --without-gnome case. [#4488842] 2007-06-30 Jody Goldberg * thumbnailer/Makefile.am : Work even if gconf macros are not installed. * configure.in : ditto. 2007-06-30 Jody Goldberg * *.[ch] (*register_type) : back out the move to dynamic types. They have significant problems with threads. [#450722] Which also patches a compilation glitch on windows. [#449807] 2007-06-19 J.H.M. Dassen (Ray) * doc/Makefile.am: Add gsf.1 to manpage_DATA. 2007-06-18 Jody Goldberg * configure.in : post release bump. 2007-06-18 Jody Goldberg * Release 1.14.4 2007-06-13 Jody Goldberg * gsf/gsf-impl-utils.h (GSF_PARAM_STATIC) : deprecate in favour of glib's G_PARAM_STATIC_STRINGS. (GSF_DYNAMIC_CLASS_FULL) : No need to add a reloc by making the type info static. (GSF_DYNAMIC_INTERFACE_FULL) : ditto. 2007-06-11 Morten Welinder * gsf/gsf-input-gzip.c (GsfInputGZip): Use gsf_off_t for header_size and trailer_size to kill warnings. * gsf/gsf-input.c (gsf_input_read): Fix warning. * gsf-gnome/gsf-input-bonobo.c (gsf_input_bonobo_read): Fix printf size mismatch. 2007-06-10 Jody Goldberg * gsf/gsf-open-pkg-utils.c : Move over from gnumeric. * po/POTFILES.in : Add the new code. 2007-06-10 Jody Goldberg * configure.in : Add a test for setrlimit. * thumbnailer/main.c : use it here, just in case. 2006-12-21 Federico Mena Quintero https://bugzilla.novell.com/show_bug.cgi?id=229609 - Limit the resource consumption of the helper process in gsf-office-thumbnailer. * thumbnailer/main.c (set_resource_limits): New function. We use setrlimit() to put a cap on how much resources the helper process can use, as convert(1) is known to leak tons of memory and CPU on certain WMF files. (main): Call set_resource_limits(). 2007-06-10 Jody Goldberg * doc/gsf-sections.txt : Add the dynamic _register_type functions, and the new nano-http class. 2007-06-10 Jody Goldberg * gsf/gsf-utils.c (gsf_init_dynamic) : register the new input type. From : Michael Lawrence [#362373] * gsf/gsf-input-http.[ch] : provide a nano-http (from libxml2) input wrapper. * tests/test-http.c : add. 2007-06-10 Jody Goldberg From : Eduardo Limo [#442205] * configure.in : Make bonobo support optional, but enabled by default. * gsf-gnome/Makefile.am : Use the new configure flag here. 2007-06-10 Jody Goldberg * m4/Makefile.am : new. * configure.in : Add it. * Makefile.am : handle m4 as a subdir rather than in EXTRA_DIST to avoid distcheck failure. 2007-04-08 J.H.M. Dassen (Ray) * doc/gsf.1: New. * gsf/gsf-meta-names.h, gsf/gsf.h, gsf/gsf-impl-utils.h, gsf/gsf-utils.h: Documentation work. 2007-02-16 Jody Goldberg * tests/test-cp-zip.c (clone) : make more resistant to read failures. 2007-01-23 Morten Welinder * configure.in (pygtk): Show result. 2007-01-13 J.H.M. Dassen (Ray) * configure.in: Adjusted pkg-config requirements to reflect that libgsf-gnome doesn't need libxml-2.0. 2007-01-10 Morten Welinder * gsf/gsf-libxml.c (push_child, gsf_xml_in_end_element): Handle nested contents. 2006-12-17 Jody Goldberg * gsf/gsf-input-bzip.c : include gsf-input-impl.h to suppress warning. 2006-12-15 Dom Lachowicz * gsf/gsf-input-bzip.c: Set input name * gsf/gsf-input-gzip.c: Ditto * gsf/gsf-input-proxy.c: Ditto * gsf/gsf-input-textline.c: Ditto 2006-12-15 Dom Lachowicz * gsf/gsf-input-textline.c (gsf_input_textline_new): Set the input's size based on its source sink's size. 2006-12-10 Jody Goldberg Begin merging patch from Danny Milosavljevic (danny.milo@gmx.net) * gsf/gsf-blob.c (gsf_blob_get_size) : constify. (gsf_blob_peek_data) : constify. 2006-12-09 J.H.M. Dassen (Ray) * gsf/gsf-output.h: Annotate GsfOutputClass.Vprintf with a format attribute. 2006-12-06 Morten Welinder * gsf/gsf-utils.c (gsf_mem_dump_full): Cleanup. (Avoid boundary case problems and print line-by-line.) * gsf/gsf-output.c (gsf_output_real_vprintf): Do not reuse a va_list argument. That does not work. 2006-12-04 Morten Welinder * thumbnailer/main.c: Use g_printerr, not fprintf. That fixes output in non-UTF8 locales. * configure.in (libgsf_reqs): Bump glib req to 2.8 for g_try_new. * gsf/gsf-infile-msole.c (ole_init_info): Use g_try_new, not g_alloca. (And g_free the memory after use.) Fixes #381600. * gsf/gsf-output-csv.c (gsf_output_csv_write_field): Quote on initial or terminal whitespace, see bug #359348. 2006-12-02 Morten Welinder * gsf/gsf-infile-msole.c (ole_info_read_metabat): Advance bats in the empty case too. Fixes #381588. 2006-12-01 Christian Neumair * gsf/gsf-libxml.c: (gsf_xml_gvalue_from_str): Handle types derived from G_TYPE_ENUM and G_TYPE_FLAGS correctly. Bail if type was not handled. 2006-11-20 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_out_add_gvalue): Plug leak. 2006-11-20 Jody Goldberg * doc/gsf-docs.sgml : Add some missing indicies. * doc/Makefile.am : init with gsf_init 2006-11-17 Jody Goldberg * gsf/*.[ch] : update copyrights 2006-11-17 Jody Goldberg * gsf/*.[ch] : Make GTypes dynamic and enable gsf_init_dynamic 2006-11-10 Jody Goldberg * tools/gsf-vba-dump.c : Handle vba in .doc too. PPT is going to be more work. It seems to be embedded in the escher stream as a compressed data blob. 2006-11-09 Tor Lillqvist * libgsf-zip.in: Fix typo. 2006-11-05 Jody Goldberg * configure.in : post release bump 2006-11-05 Jody Goldberg * Release 1.14.3 2006-11-03 Jody Goldberg * gsf/gsf-msole-utils.c (gsf_msole_metadata_read) : add some debug spew to help track the OOo prop warnings. Looks like an OOo problem. 2006-11-03 J.H.M. Dassen (Ray) * gsf/gsf-doc-meta-data.c (gsf_doc_prop_free), gsf/gsf-infile-ar.c (ar_dirent_free), gsf/gsf-infile-msole.c (gsf_infile_msole_read), gsf/gsf-input-textline.c (gsf_input_textline_finalize), gsf/gsf-input.c (gsf_input_finalize), gsf/gsf-outfile-msole.c (gsf_outfile_msole_finalize): simplified as g_free handles NULL properly. Fixes #369663. 2006-10-25 Jody Goldberg * gsf/gsf-opendoc-utils.c (meta_write_props) : clean up the code to handle missing values and invalid properties. 2006-10-24 Jody Goldberg * gsf/gsf-opendoc-utils.c (meta_write_props) : OLE2 stores a single string, ODF stores a vector. 2006-10-02 Jody Goldberg * configure.in : post release bump 2006-09-26 Jody Goldberg * Release 1.14.2 2006-09-26 Morten Welinder * configure.in (test_python): Fix python tests. 2006-09-24 Jody Goldberg Patch from Robert: * autogen.sh : Check srcdir for the extra macros. * python/Makefile.am : Include srcdir. 2006-09-24 Jody Goldberg Patch from Ivan: * configure.in : conditionalize the python checks. 2006-09-23 Jody Goldberg * gsf/gsf-libxml.c (push_child) : Handle namespaces internally by id rather than object pointer. We don't actually need the struct and the code is simpler when using ids. (lookup_child) : ditto. No need for a verbose warning if the document does not yet define a namespace. (gsf_xml_in_start_element) : warn when we find an unknown namespace uri. (gsf_xml_in_doc_free) : now that we are using ids, the ns_by_id array goes away. We did not really need it. (gsf_xml_in_doc_new) : Get rid of ns_by_id and use ids directly. This fixes support for multiple uris with the same id (common when versioning) (gsf_xml_in_doc_new) : Be sure to look up the parent of the e_node, not the node already in the tree to fix the multple decl handling. 2004-07-16 Stepan Kasal YES, 2004!. Commit an ancient patch that was forgotten. Cleanup of test-*msole*.c examples. * tests/test-cp-msole.c: * tests/test-dump-msole.c: * tests/test-restore-msole.c: * tests/test-msole1.c: * tests/test-msole2.c: * tests/test-msole-printf.c: 2006-09-23 Jody Goldberg Patch from Frederic Peters : #354690 * python/Makefile.am : Link to our version of libgsf, not the system. 2006-09-18 Morten Welinder * gsf/gsf-input.c (gsf_input_uncompress): Use correct HAVE_ symbol for bzip2 and fix typo. Fixes #356391. 2006-09-06 Morten Welinder * gsf/gsf-infile-msole.c (ole_init_info): Silence a warning issued for an only marginally bogus file. See bug 346118. (ole_dirent_new): Always treat the root directory as a directory, even if the file claims otherwise. See bug 346118. * tools/gsf.c (gsf_dump_props): Print proper filename in error message. 2006-08-28 Wouter Bolsterlee * thumbnailer/gsf-office-thumbnailer.schemas.in: Trivial patch to install all the schemas in the correct place. Fixes bug #353216. 2006-08-20 Jody Goldberg * gsf/gsf-infile-msole.c (ole_init_info) : Add validation in case ::num_metabat too large for the ::num_bats. 2006-08-19 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=352055 * gsf/gsf-msole-utils.c (gsf_msole_metadata_read) : do not generate an error when given an empty property file. It's not a perfect solution but it will be what most people want. 2006-08-19 Jody Goldberg * gsf/gsf-doc-meta-data.c (gsf_doc_prop_dump) : new. (cb_print_property) : split out from here. * tools/gsf.c (gsf_dump_props) : new. (main) : Add 'props' command to dump metadata. 2006-06-30 Morten Welinder * gsf/gsf-msole-utils.c (gsf_msole_metadata_read): Validate num_props a little bit. (#346189, Michal Kowalczuk) 2006-06-14 Jody Goldberg From Dannym. * gsf/gsf-msole-utils.c (msole_metadata_write_prop) : Fix export of R8. Typo was using SET_FLOAT rather than SET_DOUBLE. 2006-05-26 Jody Goldberg * gsf/gsf-doc-meta-data.c (gsf_doc_prop_set_link) : as per Federico's note. Handle the case of @link being the result of gsf_doc_prop_get_link. (gsf_doc_prop_set_val) : ditto. 2006-05-25 Jody Goldberg * gsf/gsf-infile-msvba.c (vba_dir_read) : dump as xml. This is still a cheesy hack, but at least it does something useful. 2006-05-18 Jody Goldberg * thumbnailer/gsf-office-thumbnailer.schemas.in : Add OpenOffice 1.0 mime types and missing OpenDocument types. 2006-05-08 Jody Goldberg * configure.in : post release bump 2006-05-08 Jody Goldberg * Release 1.14.1 2006-05-02 Jody Goldberg From : Ronan MELENNEC * gsf/gsf-timestamp.c (gsf_timestamp_as_string) : make it clear that the time stamp is in UTC. 2006-05-05 Morten Welinder * gsf/gsf.c (main): New (uninstalled) beginning of a tar-like program. 2006-04-30 Jody Goldberg * gsf/gsf-libxml.c (GsfXMLOut) : added 'pretty-print' property to optionally disable auto indenting of output. 2006-04-18 Jody Goldberg From: Xavier Roche * gsf/gsf-msole-utils.c (msole_prop_parse) : Fix over zealous boundary check for wide character string properties. There are _two_ bytes per character. 2006-04-21 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_out_add_cstr): Drop characters 1-8, 11, 12, 14-31 on the floor. The XML 1.0 spec does not allow them. Bandaids #339335. 2006-04-15 Jody Goldberg * gsf/gsf-libxml.c (gsf_xml_in_check_ns) : handle default namespaces properly. (gsf_xml_in_namecmp) : ditto. 2006-04-10 Jody Goldberg * gsf/gsf-timestamp.c (gsf_timestamp_as_string) : single digit seconds should pad with 0. 2006-04-08 Jody Goldberg * gsf/gsf-input.c (gsf_input_sibling) : fix docs. 2006-04-08 Morten Welinder * gsf/gsf-infile-msole.c (ole_init_info): Constrain big blocksize to be no bigger than file size. 2006-04-07 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=336858 * gsf/gsf-infile-msole.c (ole_info_read_metabat) : handle situation where an entire metabat is unused. We don't have any normative docs on what that indicates but this seems relatively safe. 2006-04-07 Jody Goldberg * gsf/gsf-libxml.c (gsf_xml_in_check_ns) : check the current default namespace too. (gsf_xml_in_namecmp) : ditto. (gsf_xml_in_start_element) : improve the warning for unexpected elements. * gsf/gsf-blob.h : deprecate the non-standard name 'GSF_TYPE_BLOB' and add GSF_BLOB_TYPE. * doc/gsf-docs.sgml : fix up the organization a bit. * doc/gsf-sections.txt : ditto. 2006-03-20 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_in_doc_parse): Set new member state.initialized. (gsf_xml_in_start_document): Ditto. (gsf_xml_in_end_document): Avoid crashing if not initialized. Works around #335152. 2006-03-08 Morten Welinder * doc/Makefile.am (manpagedir): Fix #316107. 2006-03-07 Eduardo Lima * gsf/gsf-doc-meta-data.c (gsf_doc_prop_free): Ensure that prop->linked_to is valid before free it. (gsf_doc_prop_set_val): Just unset and free prop->val if it is not NULL. (gsf_doc_prop_set_link): Just free prop->linked_to if it is not NULL. 2006-03-06 Ivan, Wong Yat Cheung * configure.in: detect gmtime/gmtime_r * gsf/gsf-timestamp.c: various fixes to enable compilatioon on win32 * thumbnailer/Makefile.am: disable running of gconftool when cross-compile 2006-03-03 Jody Goldberg * thumbnailer/main.c (call_convert) : use -thumbnail rather than -resize to handle transparent backgrounds. I can not find normative docs on this but it seems to do the right thing. It seems like we also want '+matte' 2006-03-02 Eduardo Lima * gsf/gsf-docprop-vector.c (gsf_docprop_vector_as_string) : no need to call g_value_unset () because g_value_array_get_nth () returns just a pointer to the value. 2006-03-02 Luciano M. Wolf * gsf/gsf-opendoc-utils.c (od_meta_keyword) : init the value to string before storing the result. 2006-03-02 Jody Goldberg * thumbnailer/gsf-office-thumbnailer.schemas.in : Add the opendoc types to the schema. Need to check the older OOo 1.x formats before we can add them. 2006-03-02 Jody Goldberg * configure.in : post release bump 2006-03-02 Jody Goldberg * Release 1.14.0 / 1.13.99 (for Novell) 2006-03-02 Jody Goldberg * gsf/gsf-opendoc-utils.c (gsf_opendoc_metadata_write) : enabled. (meta_write_props) : new. (gsf_opendoc_metadata_read) : handle keywords. (od_meta_keyword) : ditto. 2006-03-02 Jody Goldberg * gsf/gsf-doc-meta-data.c (gsf_doc_meta_dump) : Move this here from test-msole1. 2006-03-01 Jody Goldberg * gsf/gsf-timestamp.c (gsf_timestamp_parse) : enable this. keep the cheesy name to avoid api changes. (gsf_timestamp_as_string) : sync with timestamp_parse. 2006-02-26 Jody Goldberg * thumbnailer/main.c (read_thumbnail_and_write) : split out ole2 handling into. (msole_thumbnail) : here. (zip_thumbnail) : and add a quick call to unzip for ODF. We can tack on MS Office Open when docs become available. 2006-02-25 J.H.M. Dassen (Ray) * gsf/gsf-input-textline.c, gsf/gsf-input-textline.h, gsf/gsf-libxml.c, gsf/gsf-outfile-zip.c, gsf/gsf-output.c, gsf/gsf-utils.c: Documentation work. 2006-02-16 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_in_start_document): Plug leaks. (gsf_xml_in_start_element): Fix key used for inserting into state->ns_prefixes hash. 2006-01-21 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_parser_context_full): Fix a hypothetical leak. 2006-02-15 Morten Welinder * gsf/gsf-infile-zip.c (gsf_infile_zip_seek): Plug leak by shutting down the old stream properly. 2006-02-15 Morten Welinder * gsf/gsf-infile-zip.c (gsf_infile_zip_seek): 2006-02-04 J.H.M. Dassen (Ray) * configure.in: Add "sv" to ALL_LINGUAS. 2006-01-20 Jody Goldberg * gsf/gsf-libxml.c (gsf_xml_parser_context_full) : set xmlParserCtxt::replaceEntities. This fixes parsing problems with attributes that contain & 2006-01-08 Stepan Kasal * gsf/gsf-impl-utils.h (GSF_CLASS_FULL): Wrap (type==0) by G_UNLIKELY. 2006-01-06 Dom Lachowicz * gsf/gsf-clip-data.c (gsf_clip_data_finalize): Bug 325989 - Memory leak in gsf_clip_data_finalize(). Based on a patch from Michal Kowalczuk. 2006-01-02 Stepan Kasal * doc/tmpl/*.sgml: Cleanup errors introduced by gtk-doc, #318666. 2005-12-24 Stepan Kasal * doc/developer/blocksize.html: New file in a new subdir. * doc/Makefile.am: Distribute it. 2005-12-07 Morten Welinder * gsf/gsf-output-iconv.c (iconv_flush): Fix handling of partial input sequences. Fixes #323503. 2005-11-16 Tor Lillqvist * configure.in: Calculate CURRENT_MINUS_AGE as the libtool version info's CURRENT - AGE and AC_SUBST it. This number gets used in the DLL name, and thus needed in libgsf-zip. * libgsf-zip.in: Use CURRENT_MINUS_AGE. DLLs are always in "bin" nowadays. Build packages for gsf-gnome, too. * gsf/gsf-utils.c: Use G_WIN32_DLLMAIN_FOR_DLL_NAME to get DLL name, use g_win32_get_package_installation_directory() to construct locale directory name at run-time on Win32. * tests/*.c: Initialize GError pointers to NULL. * thumbnailer/Makefile.am (install-data-local): Workaround for MSYS feature that causes problems when running gconftool on Win32. 2005-11-07 Kjartan Maraas * gsf-win32/Makefile.am: Unbreak the build * gsf/Makefile.am: Same here. 2005-11-07 Ivan, Wong Yat Cheung * gsf/gsf-opendoc-utils.c: use /* FIXME FIXME FIXME Blah Blah */ instead of #warning for non-gcc compilers. (#306740) 2005-11-07 Ivan, Wong Yat Cheung * Makefile.am: * configure.in: * dumpdef.in: New * gsf.mk: New * gsf/Makefile.am: * gsf-gnome/Makefile.am: * gsf-win32/Makefile.am: For Win32 Only: 1.) For every source directory of a library, pass all the public headers (with all #include removed) to the C preprocessor. 2.) Pass the result from 1. to a perl script which extracts names of all the public functions and variables. 3.) Concat all from step 2. to produce a single .def file at the top directory of the library. No --export-all-symbols anymore. * gsf/.cvsignore: * gsf-win32/.cvsignore: Shutup CVS. 2005-11-07 Jody Goldberg * configure.in : post release bump 2005-11-06 Jody Goldberg * Release 1.13.3 2005-11-06 J.H.M. Dassen (Ray) * gsf/gsf-timestamp.h: Dropped two superfluous declarations. * doc/gsf-sections.txt: Mark internal symbols as subsection "Private" so as not to be counted for coverage stats. * doc/tmpl/*.sgml: Cascaded updates. 2005-11-05 Jody Goldberg * gsf/gsf-libxml.c (push_child) : apply extension if one was supplied. (lookup_child) : pass the extension to push_child. (gsf_xml_in_start_element) : if none of the current node's children match, check for extensions. (gsf_xml_in_ext_free) : new. (gsf_xml_in_end_element) : free any extensions. (gsf_xml_in_push_state) : handle an extension that adds children to the current node vs an extension to add a handler for an unknown node. 2005-11-05 Jody Goldberg Patch from Luciano Miguel Wolf * gsf/gsf-opendoc-utils.c (od_get_meta_prop) : fix typo. 2005-11-05 J.H.M. Dassen (Ray) * doc/gsf-docs.sgml: Fleshed things out a bit. 2005-11-04 Christian Neumair * libgsf-gnome-1.pc.in: Add required packages to Requires field. 2005-11-01 J.H.M. Dassen (Ray) * README: Updated list archive URL. (Debian #336699) 2005-10-30 J.H.M. Dassen (Ray) * gsf/gsf-infile-ar.c, gsf/gsf-infile-msole.c, gsf/gsf-infile-zip.c, sf/gsf-infile.c, gsf/gsf-input-textline.c, gsf/gsf-input.c, gsf/gsf-libxml.c, gsf/gsf-outfile-msole.c, gsf/gsf-outfile-zip.c, gsf/gsf-output-transaction.c, gsf/gsf-output.c, gsf/gsf-structured-blob.c: Minor documentation work. 2005-10-29 J.H.M. Dassen (Ray) * doc/gsf-docs.sgml: Add OpenDoc documentation. * gsf/gsf-timestamp.c, gsf/gsf-utils.c, doc/tmpl/compression.sgml, doc/tmpl/gsf-opendoc-utils.sgml, doc/tmpl/msole.sgml, doc/tmpl/utils.sgml, doc/tmpl/zip.sgml: Add some basic documentation. 2005-10-26 Stepan Kasal * tests/test-dump-msole.c: Improve the description line in the top comment; remove an unused #include. * tests/test-restore-msole.c: Likewise. 2005-10-17 Stepan Kasal * gsf/gsf-libxml.c (lookup_child): `inst' is a local variable, not a parameter. * doc/gsf.types: Add #include to fix a warning. * gsf/gsf-output-csv.c (gsf_output_csv_init): Initialize eol_len, too. 2005-10-10 Jody Goldberg * configure.in : post release bump 2005-10-10 Jody Goldberg * Release 1.13.2 2005-10-10 Jody Goldberg DOH! * gsf/gsf-libxml.c (gsf_xml_in_end_element) : clear the content before we pop the node. (gsf_xml_in_doc_new) : restore the hack to handle bools in has_content. There are still several callers that are passing bool. (gsf_xml_in_doc_new) : Fix bogus typo that was crashing everything. (gsf_xml_in_doc_new) : Init root_node 2005-10-10 Jody Goldberg * configure.in : post release bump 2005-10-10 Jody Goldberg * Release 1.13.1 2005-10-10 Jody Goldberg * gsf/gsf-libxml.c (gsf_xml_in_end_element) : Clean up after extensions. If the extensions was created by an unknown handler we do not need to do anything special. If it was created by a start handler then there are effectively two nodes for one parse state, loop back to clear the original. (gsf_xml_in_push_state) : finally get an api that will be able to do what we'll need. 2005-10-04 Jody Goldberg * configure.in : post release bump 2005-10-04 Jody Goldberg * Release 1.13.0 2005-10-03 Sven Herzberg Got okay from Morten for this: * gsf-gnome/gsf-output-gnomevfs.c: create the file if necessary; fixes bug 317766 2005-10-02 Jody Goldberg From : Luciano Wolf (luciano.wolf@indt.org.br) * gsf/gsf-opendoc-utils.{c,h} : new * gsf/Makefile.am : Add gsf/gsf-opendoc-utils.{c,h} 2005-10-02 Jody Goldberg * gsf/gsf-libxml.c (glade_enum_from_string) : imported from goffice. (glade_flags_from_string) : ditto. (gsf_xml_gvalue_from_str) : ditto. (lookup_child) : break this out of. (gsf_xml_in_start_element) : here. Add a new flags to node 'share_children_with_parent' this is allows all of a nodes siblings to work as mutual children. Eg for for rich text which need to nest arbitrarily. (gsf_xml_in_doc_parse) : renamed from gsf_xml_in_parse. Takes a GsfXMLInDoc rather than a GsfXMLIn. This is useful to keep the lifecycle of the GsfXMLIn more under our control. We intialize it not the caller. People no longer need to inherit/contain it, now they store their state seperately. 2005-10-02 Jody Goldberg * configure.in : bump the version to 1.13.0 due to the xml changes. Add -Wno-pointer-sign to make the warnings stop. * doc/gsf-sections.txt : update * doc/gsf.types : update 2005-10-01 Stepan Kasal * configure.in (VERSION_INFO): Fix the definition, add a comment. 2005-09-18 Stepan Kasal * configure.in: Make sure that the Automake conditional GCONF_SCHEMAS_INSTALL is always set. * msvc/README: Don't mention packages which are not prerequisities of libgsf. 2005-09-16 Stepan Kasal * doc/gsf-sections.txt: Add gsf_input_stdio_new_FILE. 2005-09-06 Jody Goldberg * configure.in : post release bump 2005-09-06 Jody Goldberg * Release 1.12.3 2005-08-24 Jody Goldberg * configure.in : Make gconf optional * Makefile.am : ditto. 2005-08-22 Jody Goldberg * gsf-gnome/Makefile.am : Add -no-undefined on win32 [#314221] 2005-08-19 Tim Janik * gsf/gsf-outfile-zip.c (zip_close_stream): call deflateEnd, free stream and buffer space, so we are not holding on to large amounts of memory until we're done with the current directory. 2005-08-17 J.H.M. Dassen (Ray) * doc/gsf-office-thumbnailer.1: Added. * doc/Makefile.am: Updated accordingly. 2005-08-16 Stepan Kasal * configure.in: Update obsolete AC_TRY_* macros. Before the tests for g_chmod and g_access, LIBGSF_LIBS should be _prepended_ to LIBS, not appended; more specific libs have to be listed first. * gsf/gsf-impl-utils.h: Align tabs. 2005-08-13 Morten Welinder * configure.in: Post release bump 2005-08-13 Morten Welinder * Release 1.12.2 2005-08-11 Jean Brefort * gsf/gsf-impl-utils.h: made GSF_CLASS_FULL and GSF_DYNAMIC_CLASS_FULL really full. 2005-08-09 J.H.M. Dassen (Ray) * configure.in: Changed tests for g_chmod and g_access: actually try linking the test fragments and use the LIBS being constructed in those attempts. 2005-08-09 Morten Welinder * configure.in: Test for g_chmod and g_access. * gsf/gsf-output-stdio.c (gsf_output_stdio_close): Use the right errno. Fixes part of #312930. (chmod_wrapper): New function to help Win32. (access_wrapper): Renamed from gsf_access and simplified. 2005-08-09 J.H.M. Dassen (Ray) * thumbnailer/main.c (show_error_and_exit): Mark this G_GNUC_NORETURN as well. 2005-08-08 J.H.M. Dassen (Ray) * *: Updated the FSF's address. 2005-08-07 Stepan Kasal * gsf/gsf-input-stdio.c (gsf_input_stdio_new_FILE): Don't forget to set the keep_open flag. * thumbnailer/main.c (show_error_string_and_exit): Add G_GNUC_NORETURN. 2005-08-05 Jody Goldberg * gsf/gsf-msole-utils.c (msole_prop_parse) : be more careful 2005-08-02 Morten Welinder * gsf/gsf-input-stdio.c (gsf_input_stdio_new_FILE): New function for symmetry. (This is not as useful as it might seem since the file must be seekable.) 2005-08-02 Stepan Kasal * Makefile.am (clean-local): That rule contained command "rm -f intl/po2tbl.sed". But it seems the subdirectory intl/ is no longer used. (ACLOCAL_AMFLAGS): Remove again. (EXTRA_DIST): Remove files added by gettextize and files distributed by default. (DISTCLEANFILES): Add the three intltool-* scripts. * configure.in (GCONFTOOL): Determine by a procedure similar to what is in gnumeric/configure.in. * thumbnailer/Makefile.am (install-data-local): Fix the rule so that we pass distcheck. * acinclude.m4, acinclude.m4.am15: Partial cleanup of the comments; in particular, don't speak as if Automake 1.5 were something new. 2005-07-11 Morten Welinder * gsf/gsf-output.c (gsf_output_set_name_from_filename): Make this work for NULL filename. 2005-07-30 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=310118 * gsf/gsf-msole-utils.c (msole_metadata_write_prop) : be more careful about NULL strings. This fixes the crash on export, but there are still some warnings on import that put us into an inconsistent state. (msole_prop_parse) : In the LPSTR case use the actual byte size not the result of the conversion. If the encoding is off, we ended up with the wrong size. 2005-07-24 Dom Lachowicz * gsf/gsf-msole-utilc.c (msole_prop_parse): Move some g_prints behind a debug macro. 2005-07-19 Federico Mena Quintero * thumbnailer/main.c (main): Oops, remove some leftover debugging code. * configure.in: Generate thumbnailer/Makefile. Add a test for GConf. * Makefile.am (SUBDIRS): Added the thumbnailer directory. * gsf/gsf-utils.c (gsf_init): Call bindtextdomain() and bind_textdomain_codeset(). * gsf/gsf-clip-data.c: Mark strings for translation. * gsf/gsf-blob.c: Likewise. * gsf/gsf-msole-utils.c: Mark strings in GErrors for translation. * gsf/Makefile.am (AM_CPPFLAGS): Add the locale directory. 2005-07-19 gettextize * Makefile.am (SUBDIRS): Add po. (ACLOCAL_AMFLAGS): New variable. (EXTRA_DIST): Add config.rpath, m4/ChangeLog. * configure.in (AC_CONFIG_FILES): Add po/Makefile.in. 2005-07-19 Federico Mena Quintero * configure.in: Pull in intltool and gettext. * thumbnailer/gsf-office-thumbnailer.schemas.in: New file with the schemas for the thumbnailer. 2005-07-18 Federico Mena Quintero * thumbnailer/main.c: New file with a very simple GNOME thumbnailer for MS Office files. This will grow to something more sophisticated in the future. * thumbnailer/Makefile.am: New file. I'll add this subdir to the build tomorrow, when I get the GConf bits right for configure.in. 2005-07-18 Stepan Kasal * gsf/gsf-libxml.c (gsf_xml_in_doc_free): In the description, remove the reference to the nonexistent gsf_xml_in_doc_prep. 2005-07-07 Ivan, Wong Yat Cheung * msvc/.cvsignore: * msvc/README: * msvc/config.dsp: * msvc/install.pl: * msvc/autom4te.hack: New Include a hacked version autoheader that doesn't need a posix environment. The whole MSVC building process is now posix- independent. 2005-07-06 Federico Mena Quintero * gsf/gsf-blob.[ch]: New files with a GsfBlob object, used to hold generic binary data. * gsf/gsf-clip-data.[ch]: New files with a GsfClipData object, used to hold the VT_CF property data. * gsf/gsf-msole-utils.c (parse_vt_cf): New function; creates a GsfClipData for the resulting GValue. (msole_prop_parse): Handle the VT_CF property. * gsf/gsf-utils.h (GSF_ERROR): Add a generic error quark. (GsfError): Add an enum with generic error values; so far we only have GSF_ERROR_OUT_OF_MEMORY and GSF_ERROR_INVALID_DATA. * gsf/gsf-utils.c (gsf_error_quark): Implement. * gsf/Makefile.am: Added gsf-blob.[ch] and gsf-clip-data.[ch]. * doc/gsf-sections.txt: Added sections for GsfBlob and GsfClipData. Added the GsfError stuff to the "utils" section. * doc/gsf-docs.sgml: Add the GsfBlob and GsfClipData sections. Renamed the old "GsfBlob" entity to "GsfStructuredBlob", to match the object to which it refers. * doc/tmpl/utils.sgml: Document the GError bits. * doc/tmpl/gsf-clip-data.sgml: New file. * doc/tmpl/gsf-blob.sgml: New file. 2005-07-05 Jon K Hellan * gsf/gsf-msole-utils.c (msole_metadata_write_prop): Fix VT_FILETIME export. 2005-07-01 Morten Welinder * gsf/gsf-output-memory.c (gsf_output_memory_vprintf): Don't use a va_list twice as an argument. (The standard does not allow that.) Fixes i86_64 problems and was found by Jean. * gsf/gsf-utils.c (gsf_mem_dump_full): Kill a warning. 2005-06-30 Jody Goldberg * gsf/gsf-msole-utils.c (gsf_msole_iconv_get_codepage_string_list) : Add 0x8001 as a synonym for 1252 as per the OOo docs. I wish there was something more normative than that. * gsf/gsf-docprop-vector.c : remove custom GTypeValueTable it was wrong and unnecessary. This fixes the leak of the GValueArray 2005-06-30 Ivan, Wong Yat Cheung * win: Rename to msvc * msvc: Add MSVC build files, see msvc/README for details. 2005-06-23 Ivan, Wong Yat Cheung * configure.in: Check for the existence of S_ISREG, if it is not defined (e.g. MS's PSDK), do it ourself. 2005-06-21 Ivan, Wong Yat Cheung * gsf/gsf-input-stdio.c: * gsf/gsf-libxml.c: * gsf/gsf-msole-utils.c: * gsf/gsf-outfile-msole.c: * gsf/gsf-outfile-stdio.c: * gsf/gsf-output-stdio.c: * gsf/gsf-timestamp.c: * gsf/gsf-utils.h * gsf-win32/gsf-input-win32.c: * gsf-win32/gsf-output-win32.c: Remove all #warning. That is a gcc only directive. Use /* FIXME FIXME FIXME Blah Blah */ instead. Remove all _MSC_VER, which are either unnecessary or not belong there. 2005-06-13 Morten Welinder * gsf/gsf-msole-utils.c (msole_prop_parse): Use g_value_set_uint64 and g_value_set_int64 where appropriate. (msole_prop_cmp): Handle offsets larger than int. 2005-06-12 Jody Goldberg * configure.in : post release bump 2005-06-12 Jody Goldberg * Release 1.12.1 2005-06-12 Jody Goldberg * gsf/gsf-msole-utils.c (gsf_msole_lid_to_codepage) : codepages are signed. (gsf_msole_iconv_win_codepage) : ditto. (gsf_msole_iconv_open_codepages_for_export) : ditto. (gsf_msole_iconv_open_codepage_for_export) : ditto. (gsf_msole_iconv_get_codepage_string_list) : ditto. -535(uint16) == 65001 2005-06-12 Jody Goldberg * gsf/gsf-impl-utils.h (GSF_DYNAMIC_CLASS_FULL) : remove useless trailing backslash that was confusing gtk-doc * gsf/gsf-output-stdio.c (gsf_output_stdio_new_valist) : new. (gsf_output_stdio_new_full) Use it here. (gsf_output_stdio_new) : And use that here. * gsf/gsf-outfile-stdio.c (gsf_output_stdio_new_valist) : new. (gsf_outfile_stdio_new_full) Use it here. (gsf_outfile_stdio_new) : And use that here. 2005-06-10 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_out_add_enum): New function. 2005-06-08 Morten Welinder * gsf/gsf-output-stdio.c (gsf_output_stdio_new): Test directory-ness of the right mode. 2005-06-04 Stepan Kasal * gsf/gsf-output.h (gsf_output_vprintf): Add the function attribute G_GNUC_PRINTF (2, 0). Add the same to various static *vprintf funtions in other files. * gsf/gsf-output-csv.c (gsf_output_cvs_close): The parameter is unused, mark it as such. * .cvsignore: Add gtk-doc.make; remove gsf-config; replace stamp-h and stamp-* by stamp-h*. 2005-06-03 Jody Goldberg * gsf/gsf-utils.h (gsf_init_dynamic) : new hook. Unimplemented yet. * gsf/gsf-impl-utils.h (prefix) : use a cleaner pattern for the dynamic type/interface declarations. 2005-06-02 Jody Goldberg * gsf/gsf-msole-utils.c (msole_vt_name) : suppress warning (msole_prop_parse) : assign the right type. 2005-06-02 Dom Lachowicz * gsf/gsf-outfile-zip.c (zip_flush): Check for Z_BUF_ERROR case. This is the cause of AbiWord bug #7652 2005-06-02 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_out_add_float): Use "C" locale conventions. Fix ambiguities in docs. 2005-06-01 Morten Welinder * gsf/gsf-input-gzip.c (gsf_input_gzip_read): Only trigger the truncated-file check after we have added a single NUL byte. (check_header): Avoid overflows. 2005-05-31 Jody Goldberg * gsf/gsf-input-gzip.c (gsf_input_gzip_read) : get upset when an input file is truncated. (check_header) : Add a heuristic to warn about files with > 1000:1 compression ratios. It is crude but likely to catch the worst truncated files were we're using data rather than a trailer by accident. 2005-05-31 Jody Goldberg * gsf/gsf-libxml.c (gsf_xml_in_parse) : add some protection. 2005-05-30 Jody Goldberg * gsf/gsf-msole-utils.c (msole_metadata_write_section) : warning suppression. (msole_prop_parse) : it seems GValue needs to be a G_OBJECT in order for it to be unrefed. 2005-05-28 Jody Goldberg * gsf/gsf-docprop-vector.c (gsf_docprop_vector_finalize) : patch leak. 2005-05-25 Morten Welinder * configure.in (CFLAGS): Don't use -Wcrazy. 2005-05-15 J.H.M. Dassen (Ray) * configure.in: Enable a number of additional warnings (when available) for which the current code base is already virtually clean. Ensure at link time that the shared objects, contain complete dependency information for all symbols they use from elsewhere. 2005-05-10 Jody Goldberg * configure.in : post release bump 2005-05-09 Jody Goldberg * Release 1.12.0 2005-05-08 Jody Goldberg * gsf/gsf-outfile-msole.c (ole_bytes_left_in_block) : As per Stuart Cunningham from the AAF group the header is always bb.size. (gsf_outfile_msole_new_full) : ditto. pad the header with zeros. 2005-05-08 Jody Goldberg * gsf/gsf-libxml.c (gsf_xml_in_start_element) : Do not check for a namespace we have not seen yet. Fixes crash when reading OOo 2.0 with the dtd from 1.0 2005-05-05 Jody Goldberg * gsf/gsf-libxml.c (gsf_xml_in_check_ns) : Add some safety. 2005-05-04 Jody Goldberg * gsf/gsf-msole-utils.c (msole_vt_name) : handle sparse entries. 2005-05-03 Jody Goldberg * gsf/gsf-msole-utils.c (gsf_msole_metadata_write) : complete rewrite. Just write the properties then seek back to fill in the offsets rather than measuring then writing. (cb_count_props) : new. collect builtin vs user defined props from the hash. (msole_metadata_write_section) : new. write the props and collect the offsets and ids. Handle linked props, vectors and variant vectors. (msole_metadata_write_prop) : Adds padding to the simple types. (gvalue_to_msole_vt) : map from a GValue to a variant type. Be smart about handling boxed types, and check vectors to see if they are fixed type vs variant. Use the table of builtin types if possible to deal with ambiguities. (cb_write_dict) : new. (msole_vtname) : new util to get debug name. 2005-04-27 Morten Welinder * gsf/gsf-utils.c (gsf_property_settings_collect, gsf_property_settings_collect_valist, gsf_property_settings_free): New functions. * gsf/gsf-outfile-zip.c (gsf_outfile_zip_new): Move guts into gsf_outfile_zip_constructor. (gsf_outfile_zip_constructor): New function. (gsf_outfile_zip_class_init): Link in gsf_outfile_zip_constructor. Add entry-name and sink properties. In the process separate filenames from gsf_output_name which is UTF-8 encoded. (stream_name_write_to_buf): Greatly simplify using GString. * gsf/gsf-infile-zip.c: New property "source". Install a proxy layer between the zip file and the source so we don't dup GsfInputStdio or GsfInputGnomeVFS objects (which is expensive and subject to lots of problems). 2005-04-26 Morten Welinder * tests/test-cp-zip.c (clone): Be a bit verbose. Make the copy use the compression levels of the source. * gsf/gsf-outfile-zip.c: Add construct-only compression-level property. (gsf_outfile_zip_set_compression_method): Make this an empty stub and deprecate. * gsf/gsf-zip-utils.c (gsf_vdir_add_child): Do not sort because doing so breaks copying of OOo files. * gsf/gsf-infile-zip.c: Add readable compression-level property. (vdir_child_by_index): simplify. (This is really use g_slist_nth_data, modulo pointer types.) 2005-04-26 Jody Goldberg * gsf/gsf-msole-utils.c (cb_measure_props) : handle custom props for ints and uints. 2005-04-26 Jody Goldberg * gsf/gsf-msole-utils.c (msole_gsf_name_to_prop) : fix my silliness (check_variant) : new. (cb_measure_props) : renamed from add_props. Signature changed to match the new foreach semantics. Some initial work on handling variant vectors vs single type vectors. Removed nasty kludge for DocumentParts and HeadingPairs. * gsf/gsf-docprop-vector.c (gsf_value_get_docprop_vector) : Use g_value_get_object and clarify the docs. (gsf_value_set_docprop_vector) : delete (VAL_IS_GSF_DOCPROP_VECTOR) : new. (IS_GSF_DOCPROP_VECTOR) : adjust to use the std GObject semantics 2005-04-23 Jody Goldberg * gsf/gsf-doc-meta-data.h (gsf_doc_prop_new) : new (gsf_doc_prop_free) : new (gsf_doc_prop_swap_val) : new * gsf/gsf-msole-utils.c : disable the debug spew 2005-04-22 Stepan Kasal * configure.in: Use m4 macros for version numbering. 2005-04-16 Jody Goldberg * tests/test-msole1.c : update for the new ms-ole property import api * gsf/gsf-msole-utils.c : disable debug spew (msole_prop_id_to_gsf) : flag links (msole_prop_read) : store the property directly. (msole_prop_store) : delete. 2005-04-16 Jody Goldberg * gsf/gsf-docprop-vector.c (gsf_value_get_docprop_varray) : Add some safety. 2005-04-16 Jody Goldberg * gsf/gsf-doc-meta-data.[ch] : Major interface changes to make the hash like behavior perfectly clear, and to support links. 2005-04-16 Jody Goldberg * doc/gsf-sections.txt : update 2005-04-12 Morten Welinder * configure.in: revert last change. 2005-04-12 Stepan Kasal * configure.in: Small changes in the pygtk check, though it's currently not in use. 2005-04-11 Jody Goldberg * tests/test-msole1.c: Make the test program work. 2005-04-10 Jody Goldberg * gsf/gsf-msole-utils.c (gsf_msole_metadata_write) : replace incessant if (success) with a 'goto err' and prune more non-C89 var decls 2005-04-09 Jody Goldberg * gsf/gsf-outfile.h : remove G_GNUC_NULL_TERMINATED for now. we do not want to require glib-2.7 2005-04-09 Jody Goldberg * gsf/gsf-outfile-impl.h (new_child) : change the signature to pass in var_args. Changed all callers. * gsf/gsf-outfile.c (gsf_outfile_new_child_full) : new. (gsf_outfile_new_child) : convert into a wrapper to gsf_outfile_new_child_full. * gsf/gsf-input.c (gsf_input_error_id) : renamed from gsf_input_error and a deprecated wrapper with the old name. * gsf/gsf-docprop-vector.c (gsf_value_get_docprop_varray) : new. * gsf/gsf-infile-msvba.c (vba_project_read) : add a few new signatures. 2005-04-09 Jody Goldberg From Manuel Mausz * gsf/gsf-msole-utils.c (gsf_msole_metadata_write) : initial implementation. 2005-04-07 Jody Goldberg * configure.in : bump the library version to indicate api change 2005-04-04 Stepan Kasal * configure.in (LIBGSF_MODULES): This macro was replaced by... (libgsf_reqs, libgsf_gnome_reqs): ... these two shell variables. PKG_CHECK_MODULES from pkconfig-0.16.0 double quotes its arguments, which is an error; using shell variables is a handy workaround. * Makefile.am: Clean up. * test/Makefile.am (LDADD): Use this, instead of the per-target variables. 2005-04-04 Morten Welinder * gsf/gsf-output-csv.c (gsf_output_csv_write_field): Fix auto quoting. * gsf/gsf-output-iconv.h: Make GsfOutputIconvClass public. * gsf/gsf-output-impl.h: Make GsfOutputClass public. * gsf/gsf-output-csv.h: Make GsfOutputCsvClass public. 2005-04-03 J.H.M. Dassen (Ray) * configure.in: Fixed the GNOME support check: "LIBGSF_MODULES" needed to be expanded in the PKG_CHECK_MODULES. 2005-04-01 Morten Welinder * gsf/gsf-output-iconv.c: New file. * gsf/gsf-output-csv.c: New file. * gsf/gsf-output.c (gsf_output_dispose): Silently close if needed. 2005-04-01 Stepan Kasal s/INCLUDES/AM_CPPFLAGS/ "automake -Wall" has told me this. * configure.in: More sophisticated check for zlib, an improved version of the check in gnumeric (to be removed soon from there), which in turn was inspired by libxml2's configure.in. Require Autoconf 2.54 and other cosmetic changes. * autogen.sh: Require Autoconf 2.54 and other cosmetic changes. 2005-03-31 Morten Welinder * gsf/gsf-output.c (gsf_output_set_error): Make public. * */*.c: Don't test for NULL before g_free. * gsf/gsf-utils.h (GSF_LE_GET_GINT64, GSF_LE_SET_GINT64, GSF_LE_SET_GUINT64): New macros for completeness. 2005-03-29 Morten Welinder * gsf/gsf-impl-utils.h (GSF_PARAM_STATIC): Define suitably. * gsf/*.c: Use GSF_PARAM_STATIC for properties. * configure.in: Don't check for readline and lstat. Do check for mode_t. * gsf/gsf-output-stdio.c (gsf_output_stdio_new): Again use mode_t for saved umask. 2005-03-28 Morten Welinder * */*.c: Use canonical property names. 2005-03-25 Morten Welinder * gsf/gsf-output-stdio.c (gsf_output_stdio_close): In case of error, simply unlink the temporary file and leave the target file alone. * gsf/gsf-output-gzip.c (gzip_output_block): If we cannot write to the sink, set an error for ourself. (gzip_flush): If we get a compression failure, set an error for ourself. * gsf/gsf-input-gzip.c (gsf_input_gzip_class_init): Install set_property, get_property, and constructor methods. (check_header): Allow skipping the header. Allow getting uncompressed size from construction property. (gsf_input_gzip_read): Allow having to trailer. (gsf_input_gzip_dup): Cleanly construct the new object. * gsf/gsf-output-gzip.c (gsf_output_gzip_class_init): Rename "container" property to "raw" with opposite semantics. 2005-03-25 Morten Welinder * gsf/gsf-output-gzip.c (gsf_output_gzip_set_property): Handle NULL sink better. (gsf_output_gzip_new): Don't bother closing the output on error. * gsf/gsf-output.c (gsf_output_dispose): Renamed from _finalize. Don't complain when a stream with an error is not closed -- just silently close it. (gsf_output_class_init): Hook up for _dispose instead of _finalize. * gsf/gsf-output-gzip.c (gsf_output_gzip_close): Do nothing for a stream with an error. 2005-03-25 Morten Welinder * gsf/gsf-output-gzip.c (gsf_output_gzip_class_init): Install set_property, get_property, and constructor methods. (gsf_output_gzip_constructor): Allow skipping the gzip header. (gsf_output_gzip_close): Allow skipping the tail. 2005-03-24 Morten Welinder * gsf/gsf-output-stdio.c (gsf_access): Renamed from file_is_writable. Make it a full access wrapper. Caller changed. 2005-03-23 Morten Welinder * gsf/gsf-utils.c (gsf_filename_to_utf8): Make this sane (which it never was). We no longer use this, but keep it around. (gsf_extension_pointer): Fix this for Win32. 2005-03-23 Ivan, Wong Yat Cheung * gsf/gsf-msole-utils.c: Add new function gsf_msole_iconv_get_codepage_string_list() which returns all possible names of a codepage given a codepage number. This helps gsf_msole_iconv_open_codepage_for_(im|ex)port(). * gsf-win32/Makefile.am: some more minor changes so that libgsf_win32_1_la can be built as dll. 2005-03-23 Morten Welinder * gsf/gsf-output-stdio.c (follow_symlinks): Handle lack of ELOOP. * gsf/gsf-input-memory.c (gsf_input_mmap_new): g_open has a mandatory mode arg that open does not. 2005-03-22 Morten Welinder * gsf/gsf-libxml.c (close_tag_if_neccessary): New function. (gsf_xml_out_add_cstr_unchecked, gsf_xml_out_add_cstr): Use close_tag_if_neccessary. Patch from #167166. 2005-03-22 Morten Welinder * gsf/gsf-output-stdio.c (gsf_output_stdio_new): Conditionalize owner/group stuff on HAVE_CHOWN. Use file_is_writable. (file_is_writable): New function. * gsf/gsf-input-memory.c (gsf_input_mmap_new): Use f_open, not open. * gsf/gsf-outfile-stdio.c (gsf_outfile_stdio_new): Simplify using g_mkdir. * configure.in: Require glib 2.6 for g_filename_display_name. * gsf/gsf-output-stdio.c (rename_wrapper): Use g_rename and g_unlink. (gsf_output_stdio_new): Use g_stat. Fix error message. * gsf/gsf-input-stdio.c (gsf_input_stdio_seek): Don't call perror. (struct GsfInputStdio): Add filename member. (gsf_input_stdio_finalize): Free filename member. (gsf_input_stdio_dup): Use filename member. (gsf_input_stdio_new): Fix error messages; initialize filename member; use g_fopen to open file. * gsf/gsf-docprop-vector.c: Fix includes. * gsf/gsf-infile-stdio.c (gsf_infile_stdio_new): Simply using glib's GDir stuff. (This should fix Win32 in the process.) 2005-03-05 Jody Goldberg Patch from Frank Chiulli * gsf/Makefile.am : Add gsf-docprop-vector * gsf/gsf-docprop-vector.{c,h} : new files to add vector support * tests/test-msole1.c (print_property) : support for vectors * gsf/gsf-msole-utils.c (msole_prop_parse) : ditto 2005-02-02 Dom Lachowicz * gsf/gsf-output-gnomevfs.c: A bit more robustness and documentation for bug 159442. 2005-01-16 Dom Lachowicz * gsf/gsf-output-gnomevfs.c: This should fix bug 159442 by truncating newly-created files whenever possible WHILE preserving file permissions. 2004-09-25 Stepan Kasal * gsf/gsf-output-stdio.c: Use g_file_read_link() - (bug 149827) 2004-12-02 Dom Lachowicz * gsf/gsf-input-memory.c: Add mmap support on win32 (bug #160294) * gsf/gsf-shared-memory.c: Ditto 2004-12-06 Jody Goldberg * configure.in : post release bump 2004-12-06 Jody Goldberg * Release 1.11.1 2004-12-05 Morten Welinder * gsf/gsf-output-stdio.c (gsf_output_stdio_close): Flush file if we don't close it. 2004-12-01 Morten Welinder * gsf/gsf-output-stdio.c (gsf_output_stdio_new): Make sure new files end us with as lose permissions as the umask says. [#159331] (rename_wrapper): New function to hide the fact that Win32's rename does not unlink the target file if it exists. [#160108] 2004-11-28 Jody Goldberg * configure.in : Post release bump 2004-11-28 Jody Goldberg * Release 1.11.0 2004-11-28 Jody Goldberg * gsf/gsf-msole-utils.c (msole_prop_parse) : NULL unhandled types 2004-11-25 Sven Herzberg * gsf-gnome/gsf-output-gnomevfs.c: (gsf_output_gnomevfs_new_uri): truncate the output file to length 0 when opening (fix #159442) 2004-11-23 Jody Goldberg * gsf/gsf-output-stdio.c (gsf_output_stdio_close) : add a hook to accept existing FILE* (gsf_output_stdio_new_FILE) : new. 2004-11-19 Veerapuram Varadhan * Add gsf/gsf-meta-names.h * gsf/gsf-doc-meta-data.[ch] (gsf_get_prop_val, gsf_get_prop_val_str): new (gsf_doc_meta_data_get_prop) : return GsfDocProp instead of GsfDocMetaData. Caller should release the return value. * gsf/Makefile.am : Add gsf-meta-names.h to the list of headers. 2004-11-16 Jody Goldberg * gsf/gsf-libxml.c (gsf_xml_in_start_element) : Check the unknown handler if we come across something that has not been registered yet. (gsf_xml_in_doc_set_unknown_handler) : new. (gsf_xml_in_doc_new) : split part of this out into (gsf_xml_in_doc_extend) : here, so that we can add nodes to a description later. 2004-11-12 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_out_add_cstr): Escape 1..31 when used in attributes. 2004-11-02 Jody Goldberg * tests/test-msole1.c (test) : fix leak and use gsf_msole_metadata_read_real. * gsf/gsf-msole-utils.c (gsf_msole_metadata_read) : store them in GsfDocProp (gsf_msole_metadata_read_real) : renamed from gsf_msole_metadata_read (gsf_msole_metadata_read) : a quick stub to avoid creating a leak in existing calls to this routine. 2004-11-02 Jody Goldberg From Frank * gsf/gsf-msole-utils.c (gsf_msole_metadata_read) : store the properties * tests/test-msole1.c (test) : dump the properties * gsf/Makefile.am : Add gsf-doc-meta-data.c to the build * gsf/gsf-doc-meta-data.c (gsf_doc_meta_data_set_prop) : init the GValue before we assign. 2004-09-20 Morten Welinder * gsf/*.c: Remove useless casts of 0 to gsf_off_t in parameters. * gsf/gsf-output.c (gsf_output_set_name_from_filename): New function. * gsf/gsf-output-stdio.c (gsf_output_stdio_new): Use gsf_output_set_name_from_filename. * gsf/gsf-outfile-stdio.c (gsf_outfile_stdio_new): Use gsf_output_set_name_from_filename. * gsf/gsf-input.c (gsf_input_set_name_from_filename): New function. * gsf/gsf-input-stdio.c (gsf_input_stdio_new): Use gsf_input_set_name_from_filename. * gsf/gsf-infile-stdio.c (gsf_infile_stdio_new): Use gsf_input_set_name_from_filename. * gsf/gsf-infile-zip.c (zip_update_stream_in): Add seek error check. (gsf_infile_zip_read): Ditto. 2004-09-19 Dom Lachowicz * configure.in: Morten's VFS local copy requires VFS >= 2.2. Upgrade configure check. * gsf-gnome/gsf-input-gnomevfs.c (gsf_input_gnomevfs_new_uri): Follow symlinks similarly to the STDIO input * gsf/gsf-input-stdio.c (gsf_input_stdio_new): Convert file name to UTF8 * gsf/gsf-output-stdio.c (gsf_output_stdio_new): Convert file name to UTF8 * BUGS: remove above 2004-09-17 Morten Welinder * gsf/gsf-infile-zip.c (zip_find_trailer): Fix gsf_input_seek check. * gsf/gsf-input.c: Doc fixes, notably reversing the sense of gsf_input_seek_emulate's return value. 2004-09-17 Morten Welinder * gsf-gnome/gsf-input-gnomevfs.c (gsf_input_gnomevfs_new_uri): Force local copy for small (<256KB) files that are not local. * gsf/gsf-infile-msole.c (gsf_infile_msole_new): Add a proxy layer so we don't have to dup files or net connections. * gsf/gsf-input.c (gsf_input_dup): Provide error messages. * gsf/gsf-input-proxy.c (gsf_input_proxy_read): gsf_input_read updates our position so we should not. * gsf/gsf-input-proxy.[ch]: New file. 2004-09-16 Morten Welinder * gsf/gsf-input-textline.c (gsf_input_textline_dup): Set size. * gsf/gsf-input-memory.c (gsf_input_memory_dup): Set size. * gsf-gnome/gsf-input-gnomevfs.c (gsf_input_gnomevfs_seek): Ugly work-around for gnome-vfs bug. * gsf/gsf-input.c (gsf_input_dup): Check size and seek return value. * gsf/gsf-infile.c (gsf_infile_child_by_name): Protect against NULL input name. (gsf_infile_child_by_index): Ditto. * gsf/gsf-infile-msole.c (gsf_infile_msole_new_child): Handle failure to dup. (ole_info_get_sb_file): Handle failure to dup. (gsf_infile_msole_new_child): Handle failure from ole_info_get_sb_file. 2004-09-15 Dom Lachowicz * gsf-win32/gsf-input-win32.c: Create more meaningful error messages from HRESULTs. * gsf-win32/gsf-output-win32.c: Ditto. Add error reporting. 2004-08-27 Stepan Kasal * gsf/gsf-outfile-zip.c (gsf_outfile_zip_seek): Use G_GNUC_UNUSED. * gsf/gsf-output-gzip.c (gsf_output_gzip_seek): Likewise. * gsf/gsf-structured-blob.c (blob_dup): Likewise. * gsf/gsf-input-textline.c (gsf_input_textline_dup): Likewise. * gsf/gsf-input-memory.c (gsf_input_memory_dup): Likewise. (gsf_input_mmap_new): Remove useless #warning. 2004-08-26 Morten Welinder * gsf/gsf-shared-memory.c (gsf_shared_memory_finalize): Don't check size overflow here. (gsf_shared_memory_mmapped_new): Check it here. Return NULL if we don't have mmap. * gsf/gsf-timestamp.c (gsf_value_set_timestamp): Renamed from g_value_set_timestamp. 2004-08-25 Stepan Kasal * gsf/gsf-outfile-msole.c (gsf_outfile_msole_close_root): Be careful with empty files (fixes bug #150923). 2004-08-25 Morten Welinder * gsf/gsf-utils.c (gsf_base64_encode_step): Avoid potential rounding error. * gsf/gsf-input-bzip.c (gsf_input_memory_new_from_bzip): Kill pointless #warning. 2004-08-23 Jody Goldberg * gsf/gsf-libxml.c (gsf_xml_out_add_cstr) : Add some libxml compat behavior and ignore NULLs (gsf_xml_out_add_cstr_unchecked) : ditto 2004-08-17 Stepan Kasal * gsf/gsf-utils.c (BASE64_LINE_LEN): New constant to determine the line length, my mbox indicates that 76 is commonly used. (gsf_base64_encode_simple): Use it. (gsf_base64_encode_step): Use it too; remember that `already' holds line length / 4. (gsf_base64_encode_close): Don't add '\n' if not necessary. 2004-07-29 Stepan Kasal * gsf/gsf-outfile-msole.c (gsf_outfile_msole_new_full): One more sanity check, bb.size has to be at least DIRENT_SIZE. (gsf_outfile_msole_close_root): For non-root dirs, don't set FIRSTBLOCK to DIRENT_MAGIC_END, it is BAT_MAGIC_END_OF_CHAIN; though both are -1. Explanation: BAT_MAGIC_END_OF_CHAIN is of type ``block number'' while DIRENT_MAGIC_END is of type ``dirent number''. 2004-08-20 Jody Goldberg * configure.in : post release version bump 2004-08-20 Jody Goldberg * Release 1.10.1 2004-08-17 Jon K Hellan * gsf/gsf-utils.c (gsf_base64_decode_simple): Revert base64 initialization change. 2004-08-16 Morten Welinder * gsf/gsf-utils.c (gsf_base64_encode_simple): Request line breaking. 2004-08-13 Jon K Hellan * gsf/gsf-utils.c (gsf_base64_decode_simple): Initialize during first use. 2004-08-10 Morten Welinder * gsf/gsf-input-textline.c (gsf_input_textline_utf8_gets): Fix off-by-one in buffer length check. 2004-08-08 Jon K Hellan * gsf/gsf-output-stdio.c (follow_symlinks, gsf_output_stdio_new): Use g_error_new_literal, not g_error_new on strings which we do not control. 2004-07-30 Christopher James Lahey * gsf/gsf-input.c (gsf_input_class_init), gsf/gsf-output.c (gsf_output_class_init): Use correct types for properties here. 2004-07-30 Jody Goldberg * gsf/gsf-libxml.c (gsf_xml_out_class_init) : Init the parent_class here. (gsf_xml_out_init) : not here. 2004-07-27 Stepan Kasal * gsf/gsf-outfile-msole.c (gsf_outfile_msole_new_full): Fix a race condition with a static buffer. Write correct sb.shift to the header, even if it differs from the default. 2004-07-29 Jody Goldberg * gsf/gsf-outfile-msole.c (ole_bytes_left_in_block) : sigh. Pull my head out of my rearend. a one line function with two errors. I really shouldn't code when tired. (ole_pad_zero) : remove residual parm rename ole_ from bb_ (ole_pad_bat_unused) : add a residual parm. (gsf_outfile_msole_close_root) : pad metabat with BAT_UNUSED 2004-07-29 Morten Welinder * gsf/gsf-input-memory.c (gsf_input_mmap_new): Use NULL, not 0 for pointer. (gsf_input_memory_seek): Use G_GNUC_UNUSED instead of void-casting. * gsf/gsf-libxml.c (gsfXMLInParser): Ditto. (gsf_xml_in_get_entity, gsf_xml_in_warning, gsf_xml_in_error, gsf_xml_in_fatal_error): Use G_GNUC_UNUSED instead of void-casting. (gsf_xml_out_add_color): Make buffer size overflow safe. * gsf/gsf-utils.c: Always #define G_ARMFLOAT_ENDIAN. 2004-07-28 Stepan Kasal * gsf/gsf-outfile-msole.c (gsf_outfile_msole_close_root): Check for overflow of the size field of a regular file entry. 2004-07-28 Jody Goldberg * gsf/gsf-outfile-msole.c (bb_pad_zero) : add a residual param to not fill the entire block if desired and clarify that the current block is cur_size - HEADER not block_size. (gsf_outfile_msole_close_root) : Clarify the metabat writing logic a bit and just in case add a CHAIN_END to the last incomplete metabat (ole_bytes_left_in_block) : similar to Kasal's suggestion without the -1 % size + 1 (bb_pad_zero) : use it here to make this safe to use when not at the end of the file. (ole_pad_bat_unused) : and here to fix the mystery corruption when XL reads the file. 2004-07-27 Jody Goldberg * gsf/gsf-outfile-msole.c (gsf_outfile_msole_close_root) : the last xbat does not require a forwarding link 2004-07-27 Stepan Kasal * gsf/gsf-outfile-msole.c (metabat_size): Nuke; doesn't have to be an instance variable, it can be local ... (gsf_outfile_msole_close_root): ... here. (gsf_outfile_msole_set_block_shift): Don't set metabat_size. 2004-07-26 Jody Goldberg * gsf/gsf-outfile-msole.c (OLE_DEFAULT_METABAT_SIZE): delete (gsf_outfile_msole_close_root) : pull out of (gsf_outfile_msole_close) : here as a cleanup gesture. Per : Stepan Kasal * gsf/gsf-outfile-msole.c (gsf_outfile_msole_set_block_shift) : Use BAT_INDEX_SIZE, not hardwired shift of 2. (gsf_outfile_msole_close): Use the current sb.shift, not OLE_DEFAULT_SB_SHIFT. 2004-07-23 Stepan Kasal Replace various instances of local parent_class variables by a static ones, initialized by class_init. * gsf/gsf-*.c: (20 files touched) * gsf/gsf-output-transaction.c: A general cleanup. 2004-07-21 Stepan Kasal The gsf_ouput_printf method didn't correctly update cur_offset. The implementations of vprintf virtual method shouldn't touch cur_offset but they should return the number of bytes written; the dispatcher updates cur_offset accordingly. * gsf/gsf-output-impl.h (Vprintf): The virtual private method now returns number of bytes printed. * gsf/gsf-output.c (gsf_output_vprintf): Renamed to ... (gsf_output_ireal_vprintf): ... this. (gsf_output_printf): Collect the va_list and call ... (gsf_output_vprintf): ... this new function, which dispatches the Vprintf virtual method and takes care of updating cur_offset and cur_size, via ... (gsf_output_inc_cur_offset): ... a new static function, extracted from ... (gsf_output_write): ... there. (gsf_output_real_vprintf): In this fallback code, don't call gsf_output_write, but only dispatch to the Write virual method, so that gsf_output_inc_cur_offset is not called twice. * gsf/gsf-output.h (gsf_output_vprintf): New public method. * gsf/gsf-output-stdio.c (gsf_output_stdio_vprintf): Adapt. * gsf/gsf-output-transaction.c (gsf_output_trans_vprintf): Likewise. * gsf/gsf-outfile-msole.c (gsf_output_class): New static variable, which is set to point to GsfOutput class structure. (gsf_outfile_msole_vprintf): Adapt. If it's a MSOLE_BIG_FILE, call vprintf method of the underlaying file, else fall back to gsf_output_class->Vprintf. * gsf/gsf-output-memory.c (parent_class): New static variable. (gsf_output_memory_vprintf): Use it too. Adapt to the new prototype. 2004-07-21 Stepan Kasal Make the two fseek() wrappers more consistent. * gsf/gsf-input-stdio.c (gsf_input_stdio_seek): Fix the overflow checking. * gsf/gsf-output-stdio.c (gsf_output_stdio_seek): Set errno=0 before calling fseek(). 2004-07-21 Stepan Kasal Gnomish autogen.sh uses ACLOCAL_FLAGS, if some of the macros are in nonstandard places. If you touch configure.in then, aclocal.m4 is regenerated, but without ACLOCAL_FLAGS. This change ensures that ACLOCAL_FLAGS is propagated to the Makefile. * configure.in: AC_SUBST(ACLOCAL_FLAGS) * Makefile.am: ACLOCAL_AMFLAGS = @ACLOCAL_FLAGS@ 2004-07-20 Stepan Kasal * gsf/gsf-output-stdio.c: Check for overflow 2004-07-09 Stepan Kasal * gsf/gsf-infile-zip.c (zip_find_trailer): Remove the "overflow check"; it can never catch anything. * gsf/gsf-output-memory.c (MAX_STEP): Parenthesize. (gsf_output_memory_expand): Fix the overflow checking. (gsf_output_memory_seek): make use of G_GNUC_UNUSED, instead of void reference. 2004-07-12 Stepan Kasal * gsf/gsf-output-iochannel.c (GET_OUTPUT_CLASS): Remove unused macro. * gsf/gsf-structured-blob.c (GET_CLASS): Likewise. 2004-06-15 Jody Goldberg * gsf/gsf-utils.c (gsf_input_dump) : flush the stream when we're just using stdio. 2004-07-04 J.H.M. Dassen (Ray) * configure.in: recheck all PKG_CHECK_MODULES for libgsf for libgsf-gnome as well, so as not to trip on unresolved symbols with a -Wl,-z,defs build. 2004-07-03 Jody Goldberg * configure.in : post release bump 2004-07-03 Jody Goldberg * Release 1.10.0 2004-07-01 Jody Goldberg * gsf/gsf-outfile-msole.c (gsf_outfile_msole_vprintf) : premature optimization is the root of all evil. We can not directly write small block data because it will be in the wrong place and will miss the transition to large block. This is not a hugely common case and does not need such special attention. 2004-06-25 Jody Goldberg * gsf/gsf-output-stdio.c (gsf_output_stdio_seek) : conditionalize the use of fseeko. * gsf/gsf-input-stdio.c (gsf_input_stdio_seek) : ditto. * gsf/gsf-outfile-msole.c : Extend Stuart's work to use the internal block sizes rather than keeping them global. 2004-06-25 Jody Goldberg For : Stuart Cunningham * gsf/gsf-output-stdio.c (gsf_output_stdio_seek) : use fseeko * gsf/gsf-input-stdio.c (gsf_input_stdio_seek) : ditto. * gsf/gsf-outfile-msole.c : rework to honor the requested block sizes 2004-06-15 Morten Welinder * gsf-gnome/gsf-input-gnomevfs.c (gsf_input_gnomevfs_new_uri): Don't leak info components. Handle lack of get_file_info supports. Rework make_local_copy case. Work around gnomevfs get_file_info bogosity. 2004-06-13 Jody Goldberg * configure.in : bump to 1.10.0 to handle all the signature changes in return values. * *.[ch] : return the interesting base type rather than the derived type for *_new. 2004-06-11 Morten Welinder * gsf-gnome/gsf-input-gnomevfs.c (gsf_input_gnomevfs_new): Change return type to plain GsfInput*. (gsf_input_gnomevfs_new_uri): Change return type to plain GsfInput*. If seek is not supported, snarf a local copy. 2004-06-06 Dom Lachowicz * gsf-gnome/gsf-input-gnomevfs.c (gsf_input_gnomevfs_new): Better solution for Morten's problem. 2004-05-26 Morten Welinder * gsf-gnome/gsf-input-gnomevfs.c (gsf_input_gnomevfs_new): Handle failure to parse URI. 2004-05-20 Dom Lachowicz * gsf/gsf-outfile-stdio.c: mkdir() has a different prototype on win32 2004-05-17 Jody Goldberg * gsf/gsf-infile-msole.c (ole_dirent_new) : work around odd files from softmaker, seems like they consider dirs to be rootdirs ?? 2004-05-17 Morten Welinder * gsf/gsf-utils.c (gsf_le_get_double, gsf_le_set_double): Attempt ARM fix. Fix various #error messages. 2004-05-15 Jody Goldberg * configure.in : post release bump 2004-05-15 Jody Goldberg * Release 1.9.1 2004-05-11 Jody Goldberg * gsf/gsf-libxml.c (gsf_xml_out_set_doc_type) : new. * doc/gsf-sections.txt : more cleanup, still ugly but at least it's somewhat better. * doc/gsf-docs.sgml : drop the useless Gsf section 2004-05-09 Jody Goldberg * s/ZipDirent/GsfZipDirent * s/ZipVDir/GsfZipVDir 2004-05-09 Dom Lachowicz * gsf/gsf-infile-zip.c: Don't pollute the global namespace * gsf/gsf-outfile-zip.c: Ditto * gsf/gsf-zip-impl.h: Ditto * gsf/gsf-zip-utils.c: Ditto 2004-05-09 Dom Lachowicz * gsf/gsf-infile-stdio.c: Fix non-static definition of 'parent_class' * gsf/gsf-outfile-stdio.c: Ditto 2004-05-07 James M. Cape * doc/gsf-sections.txt: Hide type macros. * gsf/gsf-output.c: s///. 2004-05-06 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=141899 * doc/Makefile.am : Apply patch from James Cape 2004-05-05 J.H.M. Dassen (Ray) * doc/Makefile.am: Install docs in the $(DOC_MODULE) subdir of $(HTML_DIR) rather than in $(HTML_DIR) itself. 2004-05-05 Jody Goldberg * configure.in : post release bump 2004-05-04 Jody Goldberg * Release 1.9.0 2004-05-04 Jody Goldberg * gsf/gsf-libxml.c (gsf_xml_in_start_element) : support merging of content from a node and some of it's children (gsf_xml_in_end_element) : ditto. (gsf_xml_in_characters) : ditto. (sf_xml_in_doc_new) : kludge to support the old interface but still allow new semantics. 2004-05-01 Dom Lachowicz * gsf-gnome/gsf-input-gnomevfs.c (gsf_input_gnomevfs_new_uri) : Don't require gnome-vfs-method.h * gsf-gnome/gsf-output-gnomevfs.c (gsf_output_gnomevfs_new_uri): we require random access. * gsf-win32/gsf-input-win32.c: fix seek's return value in the win32 IStream input. 2004-04-28 Jody Goldberg * gsf-gnome/gsf-input-gnomevfs.c (gsf_input_gnomevfs_new_uri) : we require random access. 2004-04-26 Jody Goldberg * doc/Makefile.am : steal a few things from gtk-doc.make to get things building. A full jump to gtk-doc.make directly is failing, dunno why * Makefile.am : Remove the AUTOMAKE_OPTIONS = 1.4 that disabled the DISTCHECK_CONFIGURE_FLAGS 2004-04-24 Jody Goldberg * gsf/gsf-infile-msole.c (ole_dirent_new) : placate the bogus -fstrict-aliasing gods. gcc is being stupid. * configure.in : call this 1.9.0 2004-04-27 Dom Lachowicz * gsf/gsf-output-bzip.c (gsf_output_bzip_write): If the output buffer turns full on the last deflate, empty the buffer. 2004-04-24 Morten Welinder * gsf/gsf-output-gzip.c (gsf_output_gzip_write): If the output buffer turns full on the last deflate, empty the buffer. 2004-04-05 Jody Goldberg * gsf-gnome/gsf-input-gnomevfs.c (gsf_input_gnomevfs_seek) : fix sense of return. This code is clearly not being used. A year and a half and no one noticed ??? 2004-03-31 Morten Welinder * gsf/gsf-output-stdio.c (gsf_output_stdio_new): Plug leak. 2004-03-31 Michael Meeks * tests/test-msvba-zip.c (find_match): size limit the matches to the available bits for storing the match length (doh). & make debug nicer. 2004-03-16 Morten Welinder * gsf/gsf-output.c (gsf_output_finalize): Chain up. * gsf/gsf-shared-memory.c (gsf_shared_memory_finalize): Chain up. * gsf-gnome/gsf-shared-bonobo-stream.c (gsf_shared_bonobo_stream_finalize): Chain up. 2004-03-12 Michael Meeks * gsf/gsf-infile-msvba.c (vba_dir_read), * tests/test-msvba-zip.c (decode_dir): simplify / treat op 9 as the quirk-meister. 2004-03-11 Michael Meeks * tests/test-msvba-zip.c (decode_dir): better quirk understanding. (find_match): remove unnecessary hacks. 2004-03-10 Michael Meeks * tests/test-msvba-zip.c (decode_dir): impl. a good run at enterpreting 'dir'. * tests/test-msvba-zip.c (do_compress): bin nasty 3 byte header store / restore and generate header on the fly. 2004-03-09 Michael Meeks * tests/test-msvba-zip.c (find_match): shrink dodgy looking matches. 2004-03-08 Michael Meeks * tests/test-msvba-zip.c (output_match): add a small/stupid LZSS compressor. 2004-03-08 Michael Meeks * tests/test-msvba-zip.c: add for compressing/decompressing 'dir' (or other pure compressed) streams. * gsf/gsf-msole-utils.c (gsf_msole_inflate): move from * gsf/gsf-infile-msvba.c (gsf_vba_inflate): here. 2004-03-01 Jody Goldberg * configure.in : drop -Wmissing-format-attribute because it was irritating me. 2004-03-01 Jody Goldberg * gsf/gsf-outfile-stdio.c : * gsf/gsf-infile-stdio.c : Some utility wrappers to pull or push from a directory tree. * tests/test-dump-msole.c : * tests/test-restore-msole.c : tests for it. 2004-02-24 Dom Lachowicz * configure.in: Add Win32 stuff * libgsf-win32-1.pc.in: Ditto * Makefile.am: Ditto * gsf-win32/Makefile.am: Win32 build system 2004-02-05 Jon K Hellan * configure.in: Fix typo. 2004-02-05 Tomasz K³oczko * Makefile.am: Added "DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc" for force correct pass build documentation during "make dist" (like in many other GNOME projects). Added gtk-doc.make to EXTRA_DIST for generate correct tar ball on "make dist". * configure.in: Removed old on place defined gtk-doc suport and added use GTK_DOC_CHECK([1.0]). 2004-01-30 Jody Goldberg * gsf/gsf-libxml.c (gsf_xml_in_fatal_error) : Looks like Daniel has added another field 2004-01-30 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=130596 * configure.in : apply the patch Wed Jan 28 00:43:36 2004 Matthias Clasen * doc/Makefile.am (EXTRA_HFILES): Add ../gsf-gnome/*.h to give gtk-doc a chance to pick up declarations from there. (Partial fix for bug #132661. 2004-01-20 Jody Goldberg * gsf/gsf-libxml.c (gsf_xml_in_start_element) : minor portability fix. 2004-01-18 Dom Lachowicz * gsf/gsf-msole-utils.c: Country code for Albania is sq_AL not al_AL * gsf-win32/*.c: Some work on the IStream input and output 2003-12-09 Dom Lachowicz * gsf/*.c: Documentation 2003-12-06 Jody Goldberg * gsf/gsf-infile-msvba.c : Major work. We can now extract the compressed source for all of our sample files. There's still lots of unknowns, but at least the code is visible now. The next step will be looking at the p-code 2003-11-28 Jody Goldberg * gsf/gsf-utils.c (gsf_input_hex_dump) : new. (gsf_mem_dump_full) : expand the interface a bit. 2003-11-03 Jody Goldberg * gsf/Makefile.am (uninstall) : make the impl headers for the base interfaces public. 2003-10-29 Jody Goldberg * gsf/gsf-msole-utils.c (msole_prop_parse) : The anal check should take the prevailing char width also as noted by Xavier Roche. * gsf/gsf-infile-msole.c (ole_init_info) : Doh! do not double convert to native endianness. Fixes error reading files > 13.6 Meg on sparc and alpha as noted by Xavier Roche. 2003-10-21 Jody Goldberg * gsf/gsf-msole-utils.c : Make the codepage arguments int to allow smooth handling of bogus files that encode the codepage as an int and break the utf-8 page '65001' because it looks like -535 2003-10-09 Jody Goldberg * libgsf-gnome-1.spec.in : An old patch from Joseph Frazee 2003-09-29 Jody Goldberg * gsf/gsf-infile-msole.c (gsf_infile_msole_new) : as noted by Nick Lamb a failure should not change the file pos of @input. 2003-09-23 Jody Goldberg * configure.in : downgrade. No need to force a version bump yet. * gsf/gsf-libxml.c (gsf_xml_parser_context_full) : use a _full version internally because that seems cleaner than manually tweaking pointers. However, its a cosmetic change and not worth a version bump. 2003-09-22 Jody Goldberg * configure.in : jump to 1.9.0 for api change. * gsf/gsf-libxml.c : Initialize sax handler correctly to make sure they work with libxml2 2.6.0. (gsf_xml_parser_context) : take a sax handler and user data so taht we can initialize it on creation. 2003-09-21 Tor Lillqvist * libgsf-zip.in: New file. * configure.in: Expand it. * Makefile.am (EXTRA_DIST): Distribute it. 2003-09-13 Jody Goldberg * configure.in : post release bump to 1.8.3 for now. If this becomes the basis for the interleaved write support it will jump to 1.9 without a release. 2003-09-12 Jody Goldberg * Release 1.8.2 2003-09-12 Jody Goldberg * gsf/gsf-outfile-msole.c (gsf_outfile_msole_close) : libole2 depends on all entries having names. Hard code 'Root Entry' for the root. 2003-08-24 Dom Lachowicz * win/libgsf.ds*: Add win32 project files, from Jeremy Davis * gsf/*: Some casts and ifdefs to let this puppy build on win32 using MSVC. Also from Jeremy Davis, with some touch-up work by myself. * configure.in: check for 2003-08-03 Jody Goldberg * gsf/gsf-outfile-msole.c : some initial work to define an interface for using non-default block sizes. We're just managing these values not using them yet. 2003-08-02 Jody Goldberg * gsf/gsf-infile-msole.c (ole_make_bat) : weaken the post condition from error -> warning in the event that a BAT is missing a valid terminator. We've already loaded a BAT, and we're sure that it is not too big. Hopefully this will allow some of the data to be restored. 2003-08-01 Jody Goldberg For Stuart Cunningham * gsf/gsf-infile-msole.c (gsf_infile_msole_read) : another patch to fix non-default sector size support. 2003-07-17 Jody Goldberg * gsf/gsf-infile-zip.c (zip_dup) : take an error arg. (zip_child_init) : ditto. (gsf_infile_zip_dup) : use the error from zip_dup and zip_child_init. * gsf/gsf-infile-impl.h : Take GError args for child_by_* virtuals. We can not expose them yet. * gsf/gsf-structured-blob.c (blob_child_by_index) : fix here. (blob_child_by_name) : and here. * gsf/gsf-infile-ar.c : and here. * gsf/gsf-infile-msvba.c : and here. * gsf/gsf-infile-msole.c (ole_dup) : catch gsf_input_dup failures for the underlying source, and take a GError arg. (gsf_infile_msole_dup) : pass the new err arg to ole_dup and use error from ole_dup directly. No need to cruft another one up. (gsf_infile_msole_new_child) : Take a GError arg to pass to ole_dup. 2003-07-15 Jody Goldberg For Stuart Cunningham * gsf/gsf-infile-msole.c (ole_get_block) : fix ole block seeking in 4k-sector files 2003-07-03 Jody Goldberg For : Stuart Cunningham * gsf/gsf-infile-msole.c (ole_dirent_new) : store the directory's CLSID (gsf_infile_msole_get_class_id) : new. * gsf/gsf-outfile-msole.c (gsf_outfile_msole_close) : store the CLSID (gsf_outfile_msole_set_class_id) : new. (gsf_outfile_msole_init) : be really anal and ensure the CLSID is 0. 2003-07-02 Jody Goldberg * gsf/gsf-infile-msole.c (gsf_infile_msole_new_child) : Even if a directory claims to have a size set it to 0. Thanks to the AAF people for the test case. 2003-06-28 Jody Goldberg * doc/Makefile.am : fix the case when gtk-doc is not available 2003-06-20 Morten Welinder * gsf/gsf-input-gzip.c (gsf_input_gzip_read): Handle premature end of stream. 2003-06-21 Jody Goldberg As per ryang@bway.org : * README : s/automake/autoconf/ and add automake details. 2003-06-15 Jon K Hellan * configure.in: Remove test for obsolete orbit-python module. 2003-06-09 J.H.M. Dassen (Ray) * debian/*: Updated debianisation. 2003-06-07 Jody Goldberg * configure.in : post release version bump 2003-06-07 Jody Goldberg * Release 1.8.1 2003-06-06 Jody Goldberg * gsf/gsf-libxml.c (gsf_xml_out_simple_int_element) : new util. (gsf_xml_out_simple_float_element) : ditto. 2003-05-14 J.H.M. Dassen (Ray) * gsf/Makefile.am: Added $(LIBGSF_LIBS) to libgsf_1_la_LIBADD to get complete inter-library dependency information. 2003-05-13 Dom Lachowicz * COPYING.LIB: update the the version of the LGPL license we're actually licensed under 2003-05-13 Dom Lachowicz * libgsf-1.spec.in: Updates from Rui 2003-05-12 Morten Welinder * gsf/gsf-output-gzip.c (gsf_output_gzip_finalize): Plug truck-sized leak. 2003-05-12 Jody Goldberg * configure.in : post release version bump 2003-05-11 Jody Goldberg * Release 1.8.0 2003-04-29 Dom Lachowicz * gsf-win32/gsf-input-istream.[ch]: IStream based input. Untested * gsf-win32/gsf-output-istream.[ch]: IStream based output. Untested 2003-04-29 Morten Welinder * gsf/gsf-msole-utils.c (gsf_msole_iconv_open_codepage_for_import): Try MACROMAN as alias for 10000. 2003-04-28 Morten Welinder * gsf/gsf-msole-utils.c (gsf_msole_iconv_open_codepage_for_import): Remove code duplication. 2003-04-21 Jody Goldberg * gsf/gsf-infile-msole.c (ole_dirent_new) : terminate the name before conversion. 2003-04-15 Morten Welinder * gsf/gsf-input-memory.c (gsf_input_mmap_new): FREEBSD have broken mmap -- we must keep the file descriptor around. 2003-04-09 Jody Goldberg From Xavier Roche * gsf/gsf-msole-utils.c (msole_prop_parse) : gsize is not always guinit32. Fixes sparc-64 problem. * gsf/gsf-infile-msvba.c (vba3_dir_read) : ditto. 2003-04-01 Jody Goldberg * gsf/gsf-impl-utils.h : Add utils for objects in plugins 2003-03-20 Dom Lachowicz * configure.in: Better checks for bz2 2003-03-20 Morten Welinder * gsf/gsf-input-bzip.c (gsf_input_memory_new_from_bzip): Warning killer. * gsf/gsf-libxml.c (gsf_xml_in_doc_new): Kill warning. 2003-03-09 Jody Goldberg * Relicense from GPL -> LGPL 2003-03-05 Dom Lachowicz * NEWS: update for correctness and mention AR infile * README: typo police 2003-03-05 Jody Goldberg * gsf/gsf-libxml.c : More morten warnings 2003-03-05 Morten Welinder * gsf/gsf-input-memory.c (gsf_input_memory_seek): Fix return type. * gsf/gsf-input.c (gsf_input_seek): Fix failure return. 2003-03-05 Morten Welinder * gsf/gsf-infile.c (gsf_infile_num_children): Fix failure return value. (gsf_infile_name_by_index): Ditto. (gsf_infile_child_by_index): Ditto. (gsf_infile_child_by_name): Ditto. * gsf/gsf-outfile.c (gsf_outfile_new_child): Ditto. 2003-03-04 Dom Lachowicz * gsf/gsf-zip-impl.h: s/off_t/gsf_off_t * gsf/gsf-infile-ar.[ch]: AR infile. DOES NOT YET WORK 2003-02-23 Dom Lachowicz * gsf/gsf-input.c (gsf_input_copy): remove == TRUE for Morten 2003-02-22 Dom Lachowicz * gsf/gsf-input.c (gsf_input_uncompress): Support uncompressing BZ2 streams as well, optionally 2003-02-22 Dom Lachowicz * gsf/gsf-output-bzip.c: Restructure things so that it's possible to build without bzip2 support 2003-02-22 Dom Lachowicz * gsf/gsf-input-textline.c: Replace g_realloc with g_renew * gsf/gsf-output-memory.c: Ditto 2003-02-21 Dom Lachowicz * gsf/gsf-input-bzip.c: Implement this * gsf/gsf-input-memory.[ch]: New function: gsf_input_memory_new_clone * gsf/Makefile.am: Build bz2 importer, distribute header * tests/test-bzip.c: New test * tests/Makefile.am: Add new test 2003-02-20 Dom Lachowicz * gsf/gsf-input-bzip.[ch]: Stubs for a BZ2 input I'm working on 2003-02-18 Dom Lachowicz * gsf/gsf-input.c (gsf_input_class_init): Install GObject properties (gsf_input_get_property): Ditto (gsf_input_set_property): Ditto * gsf/gsf-output.c (gsf_output_class_init): Install GObject properties (gsf_output_get_property): Ditto (gsf_output_set_property): Ditto 2003-02-14 Dom Lachowicz * configure.in: Emit a warning instead of breaking if VFS and Bonobo aren't found, but --without-gnome wasn't specified. Makes the KDE folk happy. 2003-02-11 Jody Goldberg * configure.in : compartmentalize the bzip config tests, and trust libtool for the dependent libraries enough to not mention them in the pkg-config file * gsf/gsf-output-bzip.c : improve the conditionalization. * gsf/gsf-input-iochannel.c (gsf_input_memory_new_from_iochannel) : warning suppression. 2003-02-09 Dom Lachowicz * configure.in: Changes to (optionally) compile bz2 functionality * Makefile.am: Ditto * gsf/Makefile.am: Ditto * tests/Makefile.am: Ditto * gsf/gsf-output-bzip2.c: Changes to optionally compile parts of this 2003-02-09 Dom Lachowicz * tests/test-out-bzip.c: Tester for new BZip2 output * gsf/gsf-impl-utils.h: Correct typo * gsf/gsf-output-gzip.c: Fix memory leak (leaked buffer) * gsf/gsf-output-bzip.[ch]: New output class, not currently built 2003-02-09 Dom Lachoiwcz * gsf/gsf-input-iochannel.[ch]: Rework as per Jody's suggestions. Now it is a utility constructor. 2003-02-09 Dom Lachowicz * gsf/gsf-input-iochannel.c: Fixed iochannel. Unfortunately uses memory backend because there's no way to query the size of an IOChannel 2003-02-07 Rodrigo Moya * gsf/gsf-input-iochannel.[ch]: new GIOChannel based input. 2003-02-07 Dom Lachowicz * gsf/gsf-doc-meta-data.[ch]: Clean API a bit to include consts, gsize 2003-02-05 Jody Goldberg * gsf/gsf-outfile-msole.c (gsf_outfile_msole_close) : clip long names, and do not output a name for the root file. 2003-02-04 Dom Lachowicz * Changed below commit to use g_new instead of g_malloc + typecast, at Jody's and Morten's request 2003-02-01 Dom Lachowicz * gsf/gsf-infile-msole.c * gsf/gsf-infile-zip.c * gsf/gsf-input-gzip.c * gsf/gsf-input-stdio.c * gsf/gsf-input-textline.c * gsf/gsf-outfile-msole.c * gsf/gsf-output-gzip.c * gsf/gsf-output-memory.c * gsf/gsf-utils.c * gsf-gnome/gsf-input-bonobo.c * gsf-gnome/gsf-input-gnomevfs.c: More castings needed 2003-02-01 Dom Lachowicz * gsf/gsf-infile-msole.c: Some castings to help things build using MSVC++ * gsf/gsf-msole-utils.c: Ditto 2003-01-31 Dom Lachowicz * test/*.c: Correctness fixes in the testcases. No need to unref a null object 2003-01-29 Dom Lachowicz * *: With Jody's permission, change all _new() calls to return the derived/subclassed type, instead of the mix we had before * tests/*: Updated to conform with above 2003-01-28 Jody Goldberg * configure.in : post release version bump 2003-01-28 Jody Goldberg * Release 1.7.2 2003-01-24 Jody Goldberg * gsf/gsf-libxml.c (gsf_xml_in_start_element) : be a touch more anal. 2003-01-24 Jody Goldberg * configure.in : remove -Wunreachable-code it was damn irritating and mostly wrong. * gsf/gsf-msole-utils.c : warning suppression. * gsf/gsf-libxml.c (gsf_xml_in_start_element) : support default namespaces. (gsf_xml_in_end_element) : ditto. (gsf_xml_in_start_document) : ditto. 2003-01-23 J.H.M. Dassen (Ray) * configure.in: Calculate MAJOR_VERSION_PLUS_MINOR_VERSION. 2003-01-22 Jody Goldberg * gsf/gsf-libxml.c : Rename everything (again) and add namespace support for the import wrappers. * configure.in : bump version to 1.7.1 to reflect the major changes in the xml import/export api. 2003-01-22 J.H.M. Dassen (Ray) * gsf/gsf-utils.h, gsf/gsf-utils.c (gsf_base64_encode_close, gsf_base64_encode_step), gsf/gsf-input.c (gsf_input_copy, gsf_input_uncompress), gsf-input-textline.c (gsf_input_textline_utf8_gets): Fixed signedness. 2003-01-21 J.H.M. Dassen (Ray) * gsf/gsf-msole-utils.c: Mark the 11644473600 constant as ULL. 2003-01-21 J.H.M. Dassen (Ray) * gsf/gsf-input.c: The gzip signature consists of unsigned chars. 2003-01-21 J.H.M. Dassen (Ray) * gsf/gsf-libxml.c, gsf/gsf-output-memory.c, gsf/gsf-output.c, gsf/gsf-structured-blob.c, gsf/gsf-zip-utils.c: #include for strcmp(), strlen() and memcpy(). 2003-01-21 J.H.M. Dassen (Ray) * configure.in: Redirect grep output to /dev/null instead of using -q which Morten pointed out doesn't work on Solaris. 2003-01-20 J.H.M. Dassen (Ray) * configure.in: Check if -D_POSIX_SOURCE is needed for the fdopen() prototype in a cleaner fashion; might fix problems on Mac OS X. 2003-01-09 Morten Welinder * gsf/gsf-input-stdio.c (gsf_input_stdio_read): Handle eof. 2003-01-08 Dom Lachowicz * gsf/gsf-output-iochannel.c (gsf_output_iochannel_write): ensure large writes happen * gsf-gnome/gsf-output-gnomevfs.c (gsf_output_gnomevfs_write): Ditto * gsf/gsf-input-stdio.c (gsf_input_stdio_read): Ensure that large reads happen * gsf-gnome/gsf-output-gnomevfs.c (gsf_input_gnomevfs_read) : Ditto 2003-01-08 Jody Goldberg * gsf/gsf-outfile-msole.c (gsf_outfile_msole_close) : fix off by 1 in calculation of how many meta bats are required. Store correct position of initial xbat, the original code did not take small blocks into account. * gsf/gsf-infile-msole.c (ole_make_bat) : add protection against cycles. 2003-01-07 Jody Goldberg * gsf/gsf-libxml.c (gsf_output_xml_add_attr_cstr_safe) : clone over logic for escaping strings from libxml and revamp it to be more libgsf-ish. * gsf/gsf-utils.c : rename the base64 utilities and clean up the types and const to match gsf conventions. 2003-01-06 Dom Lachowicz * gsf/gsf-output-transaction.c : New capability - transacted outputs. Not thoroughly tested. * tests/test-trans.c : Transaction testsuite for above * gsf/gsf-output-stdio.c (gsf_output_stdio_write) : Put write inside of a loop to ensure that large writes are carried out properly and feof is properly detected * TODO: remove the "try to support canceling a write" item since such functionality is supported via transactions 2003-01-05 Tor Lillqvist * configure.in: Check for lstat() and readlink(). Check for native Win32 and for Win32 in general (including Cygwin). Set automake conditionals OS_WIN32 and PLATFORM_WIN32 accordingly. Add AC_LIBTOOL_WIN32_DLL. * gsf/Makefile.am: On Win32, use -no-undefined, and install (and uninstall) import libraries. * gsf/gsf-output-stdio.c: Add workaround #defines for various Unix stuff on Win32. Bypass follow_symlinks() unless HAVE_READLINK. 2003-01-05 Jody Goldberg * gsf/gsf-utils.c : Pull in the bas64 utilites from evolution. Unused for now. 2003-01-05 Jody Goldberg * gsf/gsf-output.c (cb_output_unwrap) : renamed from cb_output_wrap_screwup and weaken restrictions. The weak ref handler is called before the wrappers finalize, so we can not always unwrap in such a way as to avoid a warning. Just handle it silently now. (gsf_output_wrap) : ditto. Weaken the requirement of the wrapper to be a GObject, no need for a full fledged GsfOutput. (gsf_output_unwrap) : ditto. * gsf/gsf-outfile-msole.c (gsf_outfile_msole_close) : fix reversal of arguments for the wrapping. (gsf_outfile_msole_write) : ditto. * gsf/gsf-outfile-zip.c (zip_init_write) : ditto. (zip_close_stream) : ditto. * gsf/gsf-libxml.c : rename xml_sax -> GsfInputXML (GsfOutputXML) : new 2003-01-03 Jody Goldberg * gsf/gsf-impl-utils.h : add hooks for interfaces 2002-12-24 Jody Goldberg * gsf/gsf-msole-utils.c (gsf_msole_metadata_read) : patch some warnings. 2003-01-01 J.H.M. Dassen (Ray) * debian/changelog, debian/control, debian/libgsf-1-dev.dirs, debian/libgsf-1-dev.files, debian/rules: Updated. 2002-12-30 Jon K Hellan * gsf/gsf-msole-utils.c (msole_prop_parse): Check if res is a GValue. (gsf_msole_metadata_read): Check if v is a GValue and holds an int before reading codepage. Check if v is a GValue before unsetting. 2002-12-23 Morten Welinder * gsf/gsf-libxml.c (gsf_xml_output_buffer_new): Fix comment and ref output to match gsf_libxml_close. 2002-12-20 Morten Welinder * gsf/gsf-libxml.c (gsf_libxml_close): Plug leak. 2002-12-19 Dom Lachowicz * gsf-gnome/gsf-input-gnomevfs.c (gsf_input_gnomevfs_new_uri) : Able to open URI objects as well as strings * gsf-gnome/gsf-output-gnomevfs.c (gsf_output_gnomevfs_new_uri) : ditto 2002-12-11 Jody Goldberg * configure.in : post release version bump. 2002-12-11 Jody Goldberg * Release 1.6.0 2002-12-10 Jody Goldberg * gsf/gsf-msole-utils.c (gsf_msole_lid_for_language) : Suggestion from Nicolas Peninguy 2002-12-10 Jody Goldberg * gsf/gsf-infile-msole.c (gsf_infile_msole_finalize) : do not unref the info for the magic internal small block file it was already removed. (ole_info_get_sb_file) : do not create a reference loop from the info to the small block file and back. Remove the default reference from the magic internal small block file to the info. 2002-12-10 Morten Welinder * gsf/gsf-structured-blob.c (blob_finalize): Link to the right parent type. * gsf/gsf-outfile-zip.c (zip_dirent_new_out): Don't allocate and throw away memory. 2002-12-09 Jon K Hellan * gsf/gsf-msole-utils.c (msole_prop_parse): Fix typo. 2002-12-09 Morten Welinder * gsf/gsf-outfile-zip.c (disconnect_children): Factor out from zip_close_root. (gsf_outfile_zip_finalize): Use here too. (This closes a leak if closing fails.) * gsf/gsf-msole-utils.c (msole_prop_parse): Free the property values until we figure out what to do with them. * gsf/gsf-infile-msole.c (gsf_infile_msole_finalize): Plug leak. * gsf/gsf-timestamp.c (gsf_timestamp_as_string): 64-bit fix. 2002-12-04 Dom Lachowicz * gsf/gsf-input.c (gsf_input_copy): Copies a GsfInput to a GsfOutput. Will probably be useful for some abiword stuff I'll be doing * tests/test-cp.c: New test program exercising gsf_input_copy 2002-12-04 Morten Welinder * gsf/gsf-output-stdio.c (follow_symlinks): Fix error return conventions. (gsf_output_stdio_new): Clean up error messages. 2002-12-03 Morten Welinder * gsf/gsf-output-stdio.c (gsf_output_stdio_close): Try much harder restoring owner and permissions. Still not good. (gsf_output_stdio_new): Simplify using g_path_get_dirname. Respect non-writable files! (follow_symlinks): Simplify using g_path_is_absolute and g_path_get_dirname. Eliminate some race conditions. 2002-11-29 Jon K Hellan * gsf/gsf-output-gzip.c (init_gzip): Return set error if deflateInit2 fails. (gzip_output_header): Add missing argument to time(). 2002-11-27 Jon K Hellan * gsf/gsf-libxml.c (gsf_libxml_close): Change to do nothing. We expect higher layers to close. (gsf_xmlDocFormatDump): Use encoding argument. Don't call xmlOutputBufferClose - libxml calls it for us via the callback we supply. * gsf/gsf-libxml.[ch] (gsf_xmlDocFormatDump: Add encoding parameter. 2002-11-27 Jon K Hellan * tests/Makefile.am (check_PROGRAMS): Add test-out-gzip.c * gsf/gsf-output-gzip.[ch]: New files. Gzip output. * gsf/Makefile.am (libgsf_1_la_SOURCES): Add gsf-output-gzip.c. (libgsf_1_include_HEADERS): Add gsf-output-gzip.h. 2002-11-25 Jon K Hellan * tests/test-outmem-printf.c (test): Adjust to new gsf_output_memory_get_bytes API. * gsf/gsf-outfile-zip.c (root_register_child): Don't ref children which are directories. * tests/test-zip-out-subdirs.c (test): Make close/unref strategy the same as in test-cp-zip/test-cp-ole (with change above, this works!). Test closing subdirs at different times in the lifecycle. 2002-11-25 Jon K Hellan * gsf/gsf-outfile-zip.c (zip_init_write): Fail if already writing to another stream in archive. Set "writing" flag in zip root to indicate that we're writing to a stream. (zip_close_stream): Unset "writing" flag in zip root to indicate that we're now free to write to a new stream. (zip_close_root): s/g_message/g_warning/. * tests/test-zip-out-subdirs.c (test): Close each substream before starting to write to the next. 2002-11-24 Jon K Hellan * gsf/gsf-outfile-zip.c (stream_name_len, stream_name_write_to_buf): Stop recursing at root of zip archive, i.e. don't append name of archive file to stream names. Take zip rather than outfile argument. (stream_name_build): Take zip rather than outfile argument. (zip_dirent_new_out): Call stream_name_build with new signature. 2002-11-24 Dom Lachowicz * gsf/gsf-ouput-iochannel.c (): New output sink. No IOChannel input sink possible due to API limitations * gsf/gsf-input-stdio.c (_new): Open files with "rb" status 2002-11-24 Dom Lachowicz * gsf/gsf-output-memory.c (gsf_output_memory_get_bytes): WARNING: changed prototype (gsf_output_memory_seek): Re-implement seek() in a saner fashion (gsf_output_memory_write): ditto (gsf_output_memory_vprintf): ditto (gsf_output_memory_init): ditto 2002-11-24 Dom Lachowicz * gsf-gnome/gsf-input-gnomevfs.c (gsf_input_gnomevfs_seek): Code cleanup 2002-11-24 Dom Lachowicz * gsf/gsf-output-memory.c (gsf_output_memory_seek): Implement seek() by implementing a cursor as well as the existing nwritten and capacity fields (gsf_output_memory_write): ditto (gsf_output_memory_vprintf): ditto (gsf_output_memory_init): ditto 2002-11-23 Jody Goldberg * gsf/gsf-outfile-msole.c (gsf_outfile_msole_vprintf) : rename from gsf_output_msole_vprintf to conform to naming convention. (gsf_outfile_msole_class_init) : hook up the vprintf method and fix some old cut-n-paste errors. * gsf/gsf-output.c (gsf_output_finalize) : free the new printf buf. (gsf_output_init) : init the new printf buf. (gsf_output_vprintf) : use a stream local buffer and handle older version of glibc that did not return the required number of characters. 2002-11-23 Jon K Hellan * tests/test-zip-out-subdirs.c: New test program. Add. * tests/Makefile.am (check_PROGRAMS): Add test-zip-out-subdirs. 2002-11-23 Jon K Hellan * tests/test-zip-out.c: New test program. Add. * tests/Makefile.am (check_PROGRAMS): Add test-zip-out. * gsf/gsf-outfile-zip.c (gsf_outfile_zip_finalize): Only free vdirs from the root down. (zip_trailer_write): Take no. of entries as a parameter, so that the root_order array doesn't have to be live when we call this function. (zip_close_root): Slight tweak of Dom's fix. 2002-11-23 Dom Lachowicz * gsf/gsf-outfile-zip.c (zip_close_root): Free the root_array and unref the child outputs when closing the root directory 2002-11-22 Dom Lachowicz * gsf/gsf-output-stdio.c (gsf_output_stdio_new): Disable creating backup copies of files, open files with "wb" status instead of just "w" 2002-11-22 Dom Lachowicz * gsf/gsf-output.c (gsf_output_puts): Check for null input (gsf_output_vprintf): Don't use static internal buffer, will lead to nasty race conditions and a memory-leak on shutdown 2002-11-22 Jon K Hellan * tests/test-outmem-printf.c: New test program. Add. * tests/Makefile.am (check_PROGRAMS): Add test-outmem-printf. * gsf/gsf-output-memory.c (gsf_output_memory_vprintf): New. vprintf implementation which uses g_vsnprintf directly into buffer if there is space. (gsf_output_memory_class_init): Initialize vprintf virtual. 2002-11-22 Jody Goldberg * doc/Makefile.am : pull in newer magic from gtk. * configure.in : ditto. 2002-11-22 Jon K Hellan * gsf/gsf-outfile-msole.c (gsf_output_msole_vprintf): New. vprintf implementation which falls through to the sink's implementation if possible. (gsf_outfile_msole_class_init): Initialize vprintf virtual. * gsf/gsf-output-stdio.c (gsf_output_stdio_vprintf): New. vprintf implementation which just falls through to vfprintf. (gsf_output_stdio_class_init): Initialize vprintf virtual. 2002-11-22 Jon K Hellan * tests/test-msole-printf.c: New test program. Add. * tests/Makefile.am (check_PROGRAMS): Add test-msole-printf. 2002-11-21 Jon K Hellan * gsf/gsf-output.c (gsf_output_puts): Remove unused variable. 2002-11-21 Jon K Hellan * gsf/gsf-libxml.c (gsf_libxml_write): Fix inverted success/failure test. * gsf/gsf-output-stdio.c (gsf_output_stdio_new): Set name 2002-11-21 Jon K Hellan * gsf/gsf-output.[ch] (gsf_output_printf): New function. printf for GsfOutput. (gsf_output_puts): New function. fputs for GsfOutput. * gsf/gsf-output-impl.h (struct GsfOutputClass): Add Vprintf virtual. * gsf/gsf-output.c (gsf_output_class_init): Initialize to default vprintf method. (gsf_output_vprintf): New function: Default vprintf method. * tests/test-out-printf.c: New test program. Add. * tests/Makefile.am (check_PROGRAMS): Add test-out-printf. 2002-10-28 Jody Goldberg * gsf/gsf-infile-msole.c (ole_dirent_new) : be more careful about invalid stream names. 2002-10-30 J.H.M. Dassen (Ray) * debian/changelog, debian/control, debian/rules: updated. * debian/shlibs.local: dropped. 2002-10-26 Jody Goldberg * configure.in : post release version bump 2002-10-26 Jody Goldberg * Release 1.5.0 2002-10-26 Jody Goldberg * gsf/gsf-msole-utils.c (gsf_msole_lid_to_codepage) : remove warning. 2002-10-14 Jody Goldberg * gsf/gsf-output-memory.c (gsf_output_memory_finalize) : close != exit. Chain to the parent, and keep the content around until detruction. 2002-10-22 Dom Lachowicz * gsf/gsf-msole-utils.c (gsf_msole_iconv_open_codepage_for_export): Fix bug where we used UTF-8 regardless of the 'from' codepage 2002-10-21 Dom Lachowicz * gsf/gsf-msole-utils.c (*): Large rewrite of the codepage handling code. More functions, more complete, more flexible, etc... 2002-10-18 Morten Welinder * gsf/gsf-input-textline.c (gsf_input_textline_ascii_gets): Handle end-of-buffer case without asserting. 2002-10-08 Morten Welinder * gsf/gsf-utils.c (gsf_filename_to_utf8): New function. * gsf/gsf-input-stdio.c (gsf_input_stdio_new): Ensure sane filenames before putting them into error messages. * gsf/gsf-output-stdio.c (follow_symlinks): Ditto. (gsf_output_stdio_new): Ditto. (gsf_output_stdio_close): Ditto. * gsf/gsf-input-memory.c (gsf_input_mmap_new): Ditto. 2002-10-01 Jody Goldberg * gsf/gsf-libxml.c (gsf_xmlSAX_prep_dtd) : support recursive structures. 2002-09-30 Jody Goldberg * configure.in : post release bump 2002-09-30 Jody Goldberg * Release 1.4.0 2002-09-27 Jody Goldberg * gsf/gsf-structured-blob.c (gsf_structured_blob_read) : fix. (gsf_structured_blob_write) : fix. 2002-09-26 Jon K Hellan * gsf/gsf-output-memory.c: Remove debug printouts. 2002-09-26 Jon K Hellan * gsf/gsf-output-memory.[ch] (gsf_output_memory_get_bytes): Take 1st argument GsfOutputMemory instead of GsfOutput. * gsf/gsf-output-memory.c (struct _GsfOutputMemory): Add 'capacity' member. (gsf_output_memory_new): Don't duplicate work done in gsf_output_memory_init. (gsf_output_memory_expand): Encapsulate expansion and make it more intelligent. (gsf_output_memory_write): Use gsf_output_memory_expand. (gsf_output_memory_init): Initialize capacity. 2002-09-25 Jody Goldberg * gsf/gsf-msole-utils.c (msole_prop_read) : remove some debug spew that snuck in. 2002-09-24 Jody Goldberg * gsf/gsf-msole-utils.c : support unicode property names and values, including some ugly heuristics to add the documented padding only when using unicode (? what where they smoking ?) 2002-09-23 Jody Goldberg * gsf/gsf-libxml.c (gsf_xmlSAX_prep_dtd) : typo and make the errors more verbose. 2002-09-20 Jody Goldberg * gsf/gsf-structured-blob.c (gsf_structured_blob_read) : handle out of memory. 2002-09-20 Jody Goldberg * gsf/gsf-libxml.c (gsf_xmlSAX_parse) : some initial work on utility structures and routines to make building a sax parser easy. * gsf/gsf-structured-blob.c : new utility to read/write trees of unparsed data. 2002-09-19 Jon K Hellan * gsf/gsf-outfile-zip.h (enum GsfZipCompressionMethod): Define. * gsf/gsf-outfile-zip.[ch] (gsf_outfile_zip_set_compression_method): New function. Set compression method. * gsf/gsf-outfile-zip.c (struct _GsfOutfileZip): Add compression_mehod member. (zip_dirent_new_out): Set compression method. (zip_header_write): Write current compression method. (zip_init_write, zip_close_stream, gsf_outfile_zip_write): Handle noncompressed streams. (zip_header_write_sizes): New function. Write crc and sizes to local file header. (gsf_outfile_zip_init): Initialize compression method to deflated. (gsf_outfile_zip_set_compression_method): New function. Set compression method. * gsf/gsf-output-stdio.c (gsf_output_stdio_seek): Fix typo. 2002-09-19 Jon K Hellan * gsf/gsf-infile-zip.c (zip_read_dirents): Don't expect a file header at the start of the archive. It's not required by the specification, and e.g. self-extracting zips do not have one. With this change, we can read self-extracting zips. 2002-09-16 Jody Goldberg * gsf/gsf-output.c (gsf_output_close) : always close even if the implementation failed. (gsf_output_finalize) : free the error. (gsf_output_init) : init the error. (gsf_output_seek) : inver the return flag to be consistent with write. (gsf_output_error) : new. (gsf_output_set_error) : new. * gsf/gsf-output-stdio.c : borrow the temp file handling from gedit so that we can handle setgid directories correctly. * gsf/gsf-outfile-msole.c (gsf_outfile_msole_seek) : invert the return type. * gsf/gsf-outfile-zip.c (gsf_outfile_zip_seek) : ditto. * gsf/gsf-output-memory.c (gsf_output_memory_seek) : ditto. * gsf/gsf-msole-utils.c (gsf_msole_metadata_write) : add some error checking. 2002-09-15 Jody Goldberg * gsf/gsf-msole-utils.c (gsf_msole_iconv_win_codepage) : fix warning. * configure.in : reorder the _BSD_SOURCE and _POSIX_SOURCE tests because POSIX changes things under linux. Add an lstat test 2002-09-15 Jon K Hellan * tests/test-zip2.c: Add. 2002-09-14 Rodrigo Moya * gsf/gsf-command-context.[ch]: added support for warnings. (gsf_command_context_has_warnings, gsf_command_context_push_warning, gsf_command_context_pop_warning): new functions. 2002-09-14 Rodrigo Moya * gsf/gsf-command-context.[ch]: new class for command contexts, stealing some implementation from GsfIOContext. * gsf/gsf-io-context.[ch]: base this class on GsfCommandContext. 2002-09-14 Jon K Hellan * gsf/gsf-infile-zip.c (gsf_infile_zip_read): Fix reading non compressed streams. 2002-09-13 Jody Goldberg * gsf/gsf-msole-utils.c (msole_prop_read) : tweak boundary case to match reality 2002-09-14 Jon K Hellan * gsf/gsf-outfile-zip.[ch]: Really add this time. * gsf/gsf-infile-zip.c: gsf-zip-utils.h doesn't exist - don't include it! * gsf/gsf-zip-utils.c: Ditto. 2002-09-14 Jon K Hellan * tests/Makefile.am: Add test-cp-zip.c 2002-09-13 Jon K Hellan * tests/test-cp-zip.c: Add a test program for zip export. 2002-09-13 Jon K Hellan * gsf/gsf-zip-util.c: Add. * gsf/gsf-infile-zip.c (enum ZipCompressionMethod, struct ZipDirent, struct ZipDir): Move to gsf-zip-impl.h. (vdir_new, vdir_free, vdir_compare, vdir_add_child, zip_dirent_free): Move to gsf-zip-utils.c. (zip_dirent_new): Rename to zip_dirent_new_in. (vdir_free, zip_info_unref): Add free_dirent parameter to vdir_free. (zip_child_init): Move before first use. (gsf_infile_zip_finalize): Free zlib stream. * gsf/Makefile.am: Add gsf-zip-utils.c, gsf-outfile-zip.[ch] 2002-09-12 Dom Lachowicz * gsf/Makefile.am: add gsf-output-memory * gsf/gsf-output-memory.c (_seek): fix seek type, compiles * gsf-gnome/Makefile.am: add gsf-output-bonobo * gsf-gnome/gsf-output-bonobo.c (): make compile 2002-09-06 Jon K Hellan * gsf/gsf-input-gzip.c (init_zip): Factored out of gsf_input_gzip_new. (gsf_input_gzip_new): See init_zip. (gsf_input_gzip_dup): Dup source instead of sharing it, and initialize zip context. * gsf/gsf-infile-zip.c (gsf_infile_zip_dup): Call zip_child_init. 2002-09-04 Jon K Hellan * gsf/gsf-infile-zip.c (struct ZipDirent, struct _GsfInfileZip, zip_dirent_new, zip_dirent_free, zip_update_stream_in, gsf_infile_zip_read, zip_child_init, gsf_infile_zip_seek, gsf_infile_zip_init): Move zlib context to GsfInfile object. It is per opened stream, not per subfile. (gsf_infile_zip_init, gsf_infile_zip_new): Initialize all fields in gsf_infile_zip_init. 2002-09-03 Jon K Hellan * gsf/gsf-input-gzip.c (check_header): Fix typo. 2002-09-03 Jon K Hellan * gsf/gsf-libxml.c (gsf_libxml_read): Don't signal error when reading len = 0. * gsf/gsf-input-gzip.c (check_header): Check signature before seeking to end. Seeking to end is *expensive* if seek is slow in underlying stream. Add check that there's room for payload. 2002-09-02 Jon K Hellan * gsf/gsf-infile-zip.c (struct _GsfInfileZip): Add seek_skipped. (gsf_infile_zip_seek): Implement. As slow as gzip. (zip_child_init): Initialize dirent->restlen, dirent->crestlen. Don't call zip_update_stream_in. (gsf_infile_zip_new): Initialize seek_skipped. 2002-09-01 Jody Goldberg * tests/test-cat-zip.c : replace the old test with test-msole2.c with s/msole/zip/ so that we get the end of file right. 2002-08-31 Jody Goldberg * gsf/gsf-infile-zip.c (gsf_infile_zip_num_children) : return -1 for non directories. 2002-08-31 Jody Goldberg * gsf/gsf-timestamp.c : dummy up a quick implementation. * gsf/gsf-msole-utils.c (msole_prop_parse) : support FILETIME. 2002-08-30 Jody Goldberg * configure.in : remove -Wconversion because it was pissing me off. 2002-08-30 Jody Goldberg * gsf/gsf-msole-utils.c (msole_prop_parse) : add some basic implementation. (msole_prop_id_to_gsf) : new. 2002-08-29 Jody Goldberg * gsf/gsf-msole-utils.c (gsf_msole_prop_read) : conditionalize the debug spew. 2002-08-29 Jody Goldberg * gsf/gsf-msole-utils.c (gsf_msole_prop_parse) : new. (gsf_msole_prop_read) : new. (gsf_msole_metadata_read) : prepare to parse the actual properties. 2002-08-28 Jody Goldberg * gsf/gsf-input-gzip.c (gsf_input_gzip_new) : restore the current file position when sniffing for gzip fails. 2002-08-28 Jody Goldberg * gsf/gsf-msole-metadata.c (gsf_msole_iconv_open_for_export) : moved from gnumeric. (gsf_msole_iconv_open_for_import) : ditto. (gsf_msole_iconv_win_codepage) : ditto. * gsf/gsf-utils.c (gsf_iconv_close) : ditto. (gsf_extension_pointer) : moved from gnumeric, originally from libgnome. 2002-08-26 Jon K Hellan * gsf-gnome/gsf-input-bonobo.[ch], gsf-gnome/gsf-output-bonobo.[ch], gsf-gnome/gsf-input-gnomevfs.[ch], gsf-gnome/gsf-output-gnomevfs.c, gsf/gsf-infile-msvba.c, gsf/gsf-input-gzip.h, gsf/gsf-input-impl.h, gsf/gsf-input-memory.h, gsf/gsf-msole-impl.h, gsf/gsf-output-impl.h, gsf/gsf-output-memory.h, gsf/gsf-output-stdio.h, gsf/gsf-output.c, gsf/gsf-shared-memory.h, gsf/gsf-zip-impl.h, gsf/gsf.h: Fix file headers - file name was wrong. 2002-08-26 Jon K Hellan * gsf/gsf-infile-zip.c (struct ZipVDir): Define struct to represent a directory entry in a tree of contained files. (struct ZipInfo): Add vdir. Move dirent_list here from _GsfInfileZip. (struct _GsfInfileZip): Add vdir. Remove dirent_list and dirent. (vdir_new, vdir_free, vdir_child_by_name, vdir_child_by_index, vdir_compare, vdir_add_child, vdir_insert): New functions. Operations on file tree directories. (zip_info_unref): Free dirent_list and vdir. (zip_read_dirents): Renamed from zip_init_info. dirent_list now in ZipInfo. (zip_build_vdirs): New function. Build directory tree of contained files. (zip_init_info): New function, old name. Wraps zip_read_dirents and zip_build_vdirs. (gsf_infile_zip_dup): Copy vdir, not dirent. (zip_update_stream_in, (gsf_infile_zip_read): dirent now in vdir. (zip_child_init): New function. Contains the parts of gsf_infile_zip_new_child which operated on the zip file. (gsf_infile_zip_new_child): Simplify and call zip_child_init. (gsf_infile_zip_child_by_index, gsf_infile_zip_name_by_index): Use vdir_child_by_index. (gsf_infile_zip_child_by_name): Use vdir_child_by_name (gsf_infile_zip_num_children): Count children in vdir. (gsf_infile_zip_finalize): dirent_list is no longer freed here. (gsf_infile_zip_init, gsf_infile_zip_new): Initialize vdir. * gsf/gsf-zip-impl.h (ZIP_NAME_SEPARATOR): Define path name component separator for zip archives. 2002-08-26 Morten Welinder * gsf/gsf.h: Don't include here. * gsf/gsf-input.h: Do it here. * gsf/gsf-output.h: And here. * configure.in: Take out -Wcast-align until someone fixes the hundreds of things that violates it. 2002-08-25 Jody Goldberg * configure.in : post release version bump 2002-08-25 Jody Goldberg * Release 1.3.0 2002-08-22 Jon K Hellan * gsf/gsf-infile-zip.c (zip_find_trailer): Fix case when no match is found first time round. 2002-08-21 Jon K Hellan * gsf/gsf-infile-zip.c (zip_find_trailer): Don't try to read beyond EOF. 2002-08-21 Jon K Hellan * gsf/gsf-infile-zip.c (struct _GsfInfileZip): Add buf and buf_size for inflating. (zip_init_info, gsf_infile_zip_dup): Use g_error_new rather than g_set_error. (gsf_infile_zip_read): Fix segfaulting bug. Make inflate buffer a private member of the class rather than a static. (gsf_infile_zip_finalize): Free inflate buffer. (gsf_infile_zip_new): Initialize inflate buffer. * tests/test-cp-msole.c: Revert 2nd arg to gsf_input_read/write from gsf_off_t to size_t. 2002-08-21 Mikael Hallendal * tests/test-textline.c (test): output argv[0] when printing Usage. 2002-08-20 Jody Goldberg * gsf-gnome/Makefile.am : depend on libgsf 2002-08-20 Jon K Hellan * gsf-gnome/.cvsignore: Add. 2002-08-19 Jon K Hellan * tests/test-cp-msole.c (clone): Cast 2nd arg to gsf_input_read/write to gsf_off_t. 2002-08-19 Jon K Hellan * gsf/gsf.h: Remove GsfSeekType. * gsf/gsf-input.[ch]: s/GsfSeekType/GSeekType/ in gsf_input_seek signature. * gsf/gsf-output.[ch]: s/GsfSeekType/GSeekType/ in gsf_output_seek signature. * gsf/gsf-input-impl.h (GsfInputClass) s/GsfSeekType/GSeekType/ in Seek method. * gsf/gsf-output-impl.h (GsfOutputClass) Ditto. * gsf/gsf-infile-msole.c (gsf_infile_msole_seek): s/GsfSeekType/GSeekType/ in signature. * gsf/gsf-infile-msvba.c (gsf_infile_msvba_seek): Ditto. * gsf/gsf-infile-zip.c (gsf_infile_zip_seek): Ditto. * gsf/gsf-input-gzip.c (gsf_input_gzip_seek): Ditto. * gsf/gsf-input-memory.c (gsf_input_memory_seek): Ditto. * gsf/gsf-input-stdio.c (gsf_input_stdio_seek): Ditto. * gsf/gsf-input-textline.c (gsf_input_textline_seek): Ditto. * gsf/gsf-outfile-msole.c (gsf_outfile_msole_seek): Ditto. * gsf/gsf-output-stdio.c (gsf_output_stdio_seek): Ditto. * gsf-gnome/gsf-input-bonobo.c (gsf_input_bonobo_seek): Ditto. * gsf-gnome/gsf-input-gnomevfs.c (gsf_input_gnomevfs_seek): Ditto. * gsf-gnome/gsf-output-bonobo.c (gsf_output_bonobo_seek): Ditto. * gsf-gnome/gsf-output-gnomevfs.c (gsf_output_gnomevfs_seek): Ditto. * gsf/gsf-input.c (gsf_input_seek): Replace GSF_SEEK_SET, CUR, END with G_SEEK_SET, CUR, END. * gsf/gsf-input-gzip.c (gsf_input_gzip_seek): Ditto. * gsf/gsf-input-stdio.c (gsf_input_stdio_seek): Ditto. * gsf/gsf-output.c (gsf_output_seek): Ditto. * gsf/gsf-outfile-msole.c (gsf_outfile_msole_seek): Ditto. * gsf/gsf-output-stdio.c (gsf_output_stdio_seek): Ditto. * gsf-gnome/gsf-input-bonobo.c (gsf_input_bonobo_seek): Ditto. * gsf-gnome/gsf-input-gnomevfs.c (gsf_input_gnomevfs_seek): Ditto. * gsf-gnome/gsf-output-bonobo.c (gsf_output_bonobo_seek): Ditto. * gsf-gnome/gsf-output-gnomevfs.c (gsf_output_gnomevfs_seek): Ditto. * gsf/gsf-infile-msole.c (ole_get_block, ole_init_info, gsf_infile_msole_read, gsf_infile_msole_new_child): s/GSF_SEEK_SET/G_SEEK_SET/. * gsf/gsf-infile-msvba.c (vba_inflate, vba56_dir_read, gsf_infile_msvba_seek, gsf_infile_msvba_seek): Ditto. * gsf/gsf-infile-zip.c (zip_find_trailer, zip_dirent_new) (zip_init_info, zip_init_info, zip_update_stream_in) (gsf_infile_zip_new_child): Ditto. * gsf/gsf-input-gzip.c (check_header, check_header): Ditto. * gsf/gsf-input.c (gsf_input_dup, gsf_input_uncompress): Ditto. * gsf/gsf-outfile-msole.c (gsf_outfile_msole_seek, gsf_outfile_msole_close): Ditto. 2002-08-18 Jon K Hellan * configure.in: Revert today's first change to the file, but keep the second. 2002-08-18 Jon K Hellan * configure.in: See below. Hope it's true this time. 2002-08-18 Jon K Hellan * configure.in: Make --without-gnome work. 2002-08-18 Jon K Hellan * acinclude.m4: Change it to just a comment referring to python/README-python. * acinclude.m4.am15: Added. A copy of the previous version, but no longer commented out. See python/README-python. 2002-08-17 Jody Goldberg * gsf/Makefile.am : install the xml header 2002-08-17 Jon K Hellan * libgsf-gnome-1.pc.in (Cflags): Fix Libs line. 2002-08-17 Jon K Hellan * Makefile.am (pkgconfig_DATA): Add libgsf-gnome-1.pc when --with-gnome is selected. (EXTRA_DIST): Add libgsf-gnome-1.spec, libgsf-gnome-1.spec.in and libgsf-gnome-1.pc.in 2002-08-16 Jody Goldberg * gsf/gsf-outfile-msole.c (gsf_outfile_msole_close) : pad the last bat and sbat block with unused rather than 0. (ole_pad_bat_unused) : New. 2002-08-16 Jody Goldberg * gsf/gsf-outfile-msole.c (gsf_outfile_msole_close) : clean up the iteration to calculate the number of bat blocks required to hold the bat and metabat. Fill in the bat flags for the metabat. 2002-08-16 Jody Goldberg * configure.in : move bonobo and gnome-vfs into a standalone library. * gsf/gsf-infile-msole.c (ole_init_info) : add a warning about invalid state. * gsf/gsf-outfile-msole.c (gsf_outfile_msole_new) : Fill with 0xff instead of 0 to be more compatible with MS. (gsf_outfile_msole_close) : If there is no small block data don't pretend there is an allocation chain for it. Write BAT entries for the bat itself. TODO : BAT entries for the metabat. 2002-08-16 Morten Welinder * gsf/gsf-io-context.c (gsf_io_context_update_progress): Don't zero out memory only to overwrite it. 2002-08-16 Jon K Hellan * configure.in: Require autoconf 2.52 2002-08-16 Morten Welinder * gsf/gsf-metadata-bag.c (gsf_metadata_bag_new): Fix prototype. * gsf/gsf-output-memory.c (gsf_output_memory_new): Ditto. (gsf_output_memory_write): Fix brown-bag. 2002-08-15 Jon K Hellan * configure.in: Test for orbit-python. 2002-08-15 Jon K Hellan * gsf/gsf-input-memory.c (gsf_input_mmap_new): Stop warnings on Solaris. 2002-08-15 Jon K Hellan * gsf/gsf-shared-memory.c (gsf_shared_memory_finalize): Cast to gsf_off_t when checing for overflow. * gsf/gsf-outfile-msole.c (gsf_outfile_msole_close, gsf_outfile_msole_write): Ditto. * gsf/gsf-input-bonobo.c (gsf_input_bonobo_seek): Ditto. * gsf/gsf-infile-zip.c (zip_find_trailer): Ditto. * gsf/gsf-output-stdio.c (gsf_output_stdio_seek): Use long, not off_t for offset arg. to fseek. * gsf/gsf-input-stdio.c (gsf_input_stdio_seek): Ditto. * gsf/gsf-input-memory.c (gsf_input_mmap_new): Add forgotten argument to g_error_new. 2002-08-15 Jon K Hellan * configure.in: Bump minor verision to 1.3. Add AC_SYS_LARGEFILE. * gsf/gsf.h: Rename GsfOff_t enum to GsfSeekType. Define gsf_off_t type to use instead of off_t. We have to do this because we do not know what idea the application has of the size of off_t, this can be defined with #define _FILE_OFFS_BITS xx. * gsf/gsf-shared-memory.h (struct _GsfSharedMemory): Change type of size to gsf_off_t. * gsf/gsf-output-stdio.c (gsf_output_stdio_seek): Change type of offset parameter to gsf_off_t, type of 'whence' parameter to GsfSeekType. Check for overflow copying from gsf_off_t to off_t. * gsf/gsf-output-impl.h (struct _GsfOutput): Change type of cur_size, cur_offset to gsf_off_t. (GsfOutputClass): Change type of offset parameter of Seek method to gsf_off_t, type of 'whence' parameter to GsfSeekType. * gsf/gsf-output-gnomevfs.c (gsf_output_gnomevfs_new): Various fixes. (gsf_output_gnomevfs_seek): Change type of offset parameter to gsf_off_t, type of 'whence' parameter to GsfSeekType. Cast 'whence' argument to gnome_vfs_seek to GnomeVFSFileOffset to shut up warning. (gsf_output_gnomevfs_write): Cast 'bytes' argument to gnome_vfs_write to GnomeVFSFileSize to shut up warning. * gsf/gsf-output-bonobo.c (gsf_output_bonobo_seek): Change type of offset parameter to gsf_off_t, type of 'whence' parameter to GsfSeekType. * gsf/gsf-outfile-msole.c (gsf_outfile_msole_seek): Change type of offset parameter to gsf_off_t, type of 'whence' parameter to GsfSeekType. Type of offset argument to gsf_input_seek has changed to gsf_off_t. Use. (gsf_outfile_msole_close): Return type of gsf_output_tell is changed to gsf_off_t. Introduce gsf_off_t typed variable data_size to detect overflow. Type of size argument to gsf_output_set_size has changed to gsf_off_t. Use. Type of offset argument to gsf_output_seek has changed to gsf_off_t. Use. (gsf_outfile_msole_write): Return type of gsf_output_tell is changed to gsf_off_t. Introduce gsf_off_t typed variables wsize and start_offset to detect overflow. * gsf/gsf-libxml.c (gsf_libxml_read): Return type of gsf_input_remaining has changed to gsf_off_t. Use. * gsf/gsf-io-context.c (GSF_CLASS): G_TYPE_GLIB is the parent class, not the io-context class itself. * gsf/gsf-input.h: (gsf_input_size, gsf_input_remaining, gsf_input_tell): Change return type to gsf_off_t. (gsf_input_seek): Change type of offset parameter to gsf_off_t, type of 'whence' parameter to GsfSeekType. * gsf/gsf-input.c (gsf_input_dup): Type of offset argument to gsf_input_seek has changed to gsf_off_t. Use. (gsf_input_size, gsf_input_remaining, gsf_input_tell): Change return type to gsf_off_t. (gsf_input_seek): Change type of offset parameter to gsf_off_t, type of 'whence' parameter to GsfSeekType. (gsf_input_set_size): Change type of size parameter to gsf_off_t. (gsf_input_seek_emulate): Change type of pos parameter to gsf_off_t. (gsf_input_uncompress): Change type of cur_offset variable to gsf_off_t. Type of offset argument to gsf_input_seek has changed to gsf_off_t. Use. * gsf/gsf-input-textline.c (gsf_input_textline_new): Remove cast of size argument to gsf_input_set_size. (gsf_input_textline_seek): Change type of offset parameter to gsf_off_t, type of 'whence' parameter to GsfSeekType. (gsf_input_textline_ascii_gets, gsf_input_textline_utf8_gets ): Add 'remain' variable, and make sure that overflows don't occur. * gsf/gsf-input-stdio.c (gsf_input_stdio_new): Change type of size variable to gsf_off_t. (gsf_input_stdio_seek): Change type of offset parameter to gsf_off_t, type of 'whence' parameter to GsfSeekType. Check for overflow copying from gsf_off_t to off_t. * gsf/gsf-input-memory.h: Change type of length parameter to gsf_off_t. * gsf/gsf-input-memory.c (gsf_input_memory_new): Change type of length parameter to gsf_off_t. (gsf_input_memory_seek): Change type of offset parameter to gsf_off_t, type of 'whence' parameter to GsfSeekType. (gsf_input_mmap_new): Check for overflow copying from st.st_size to ssize_t. Type of size argument to gsf_shared_memory_mmapped_new and gsf_input_set_size has changed to gsf_off_t. Use. * gsf/gsf-input-impl.h (struct _GsfInput): Change type of size, cur_offset to gsf_off_t. (GsfInputClass): Change type of offset parameter of Seek method to gsf_off_t, type of 'whence' parameter to GsfSeekType. (gsf_input_set_size): Change type of size parameter to gsf_off_t. (gsf_input_seek_emulate): Change type of pos parameter to gsf_off_t. * gsf/gsf-input-gzip.c (struct _GsfInputGZip): Change type of seek_skipped to gsf_off_t. (check_header): Type of offset argument to gsf_input_seek is changed to gsf_off_t. Use. Type of size argument to gsf_input_set_size has changed to gsf_off_t. Use. (gsf_input_gzip_read): Return type of gsf_input_remaing has changed to gsf_off_t. Use. (gsf_input_gzip_seek): Change type of offset parameter to gsf_off_t, type of 'whence' parameter to GsfSeekType. * gsf/gsf-input-gnomevfs.c (gsf_input_gnomevfs_new): Change type of size variable to gsf_off_t. Cast 'code' argument to g_set_error to gint to shut up warning. (gsf_input_gnomevfs_read): Cast 'bytes' argument to gnome_vfs_read to GnomeVFSFileSize to shut up warning. (gsf_input_gnomevfs_seek): Change type of offset parameter to gsf_off_t, type of 'whence' parameter to GsfSeekType. Cast 'whence' argument to gnome_vfs_seek to GnomeVFSFileOffset to shut up warning. * gsf/gsf-input-bonobo.c (struct _GsfInputBonobo): Change type of 'pos' to gsf_off_t. (gib_synch_shared_ptr): Cast to gsf_off_t when assigning pos. (gsf_input_bonobo_new): Change type of size variable to CORBA_long. Type of size argument to gsf_input_set_size is changed to gsf_off_t. Use. (gsf_input_bonobo_seek): Change type of offset parameter to gsf_off_t, type of 'whence' parameter to GsfSeekType. Check for overflow copying from gsf_off_t to CORBA_long. * gsf/gsf-infile-zip.c (zip_find_trailer): Change return type to gsf_off_t. Check for overflow copying from gsf_off_t to size_t. (zip_dirent_new, gsf_infile_zip_new_child): Change type of offset parameter to gsf_off_t. Type of size argument to gsf_input_set_size has changed to gsf_off_t. Use. (gsf_infile_zip_new): Type of size argument to gsf_input_set_size has changed to gsf_off_t. Use. * gsf/gsf-infile-msvba.c (vba_inflate): Change type of offset parameter to gsf_off_t. (vba3_dir_read): Cast 2nd argument to vba_inflate to gsf_off_t. (gsf_infile_msvba_seek): Change type of offset parameter to gsf_off_t, type of 'whence' parameter to GsfSeekType. (gsf_infile_msvba_new): Type of size argument to gsf_input_set_size has changed to gsf_off_t. Use. * gsf/gsf-infile-msole.c (ole_get_block, ole_init_info, gsf_infile_msole_read, gsf_infile_msole_new_child): Type of offset argument to gsf_input_seek has changed to gsf_off_t. Use. (gsf_infile_msole_seek): Change type of offset parameter to gsf_off_t, type of 'whence' parameter to GsfSeekType. (gsf_infile_msole_new_child, gsf_infile_msole_new): Type of size argument to gsf_input_set_size has changed to gsf_off_t. Use. 2002-08-12 Jody Goldberg * Release 1.2.0 2002-08-06 Morten Welinder * gsf/gsf-utils.c (gsf_le_get_double, gsf_le_set_double): New functions (from gnumeric). * gsf/gsf-utils.h: Add macros for signed types. 2002-08-05 Jody Goldberg * tests/test-msole1.c (test) : why did I add that limitation ? 2002-08-05 Jody Goldberg * gsf/gsf-output.c (gsf_output_is_closed) : forgot to implement. 2002-08-02 Jody Goldberg * configure.in : bump version * gsf/gsf-outfile-msole.c (gsf_outfile_msole_finalize) : add a safety to close the file before finalizing. * gsf/gsf-output.c (gsf_output_finalize) : add a warning when finalizing an unclosed stream. (gsf_output_init) : init the new is_closed flag. 2002-08-02 Rodrigo Moya * gsf/gsf-io-context.c: removed progress_min and progress_max, since they don't seem too useful right now (ie, let's keep it simple). (gsf_io_context_clear): free progress_ranges list and initialize progress-related internal values. (gsf_io_context_update_progress): implemented. (gsf_io_context_class_init): added "progress" signal to class. 2002-08-01 J.H.M. Dassen (Ray) * doc/Makefile.am (HTML_DIR) : conditionally define. * doc/gsf-docs.sgml : tidy up. 2002-07-27 Dom Lachowicz * MAINTAINERS : add myself * gsf-metadata-bag.[ch] : add cardinatliy (size) method 2002-07-26 Dom Lachowicz * gsf-output-bonobo.[ch]: implement output stream (untested) 2002-07-26 Dom Lachowicz * gsf-meta-keys.h: list of default/builtin keys that we will want to support * gsf-metadata-bag.[ch]: add key creation and manipulation functions, update TODO list 2002-07-26 Dom Lachowicz * gsf-metadata-bag.c: implement (untested) 2002-07-25 Dom Lachowicz * gsf-input-gnomevfs.[ch]: implement (untested) * gsf-output-gnomevfs.[ch]: implement (untested) * gsf-output-memory.[ch]: implement (untested) 2002-07-22 Zbigniew Chyla * gsf-input-gnomevfs.c (struct _GsfInputGnomeVFS): Added missing semicolon at the end of struct. 2002-07-21 Jody Goldberg * Release 1.1.0 2002-07-17 Jody Goldberg * gsf/gsf-utils.c (gsf_mem_dump) : tweak. 2002-07-15 Morten Welinder * gsf/gsf-infile-msole.c (gsf_infile_msole_dup): Don't ignore err -- that will crash the caller. * gsf/gsf-input-memory.c (gsf_input_mmap_new): Plug file descriptor leaks. 2002-07-09 Jody Goldberg * gsf/gsf-input.c (gsf_input_dup) : avoid leak if derived dup has already assigned a name. 2002-07-08 Jody Goldberg * tests/test-cp-msole.c (test) : simplify. 2002-07-08 Jody Goldberg * gsf/gsf-outfile-msole.c (gsf_outfile_msole_new) : doh! fix the header to include the correct small block shift. 2002-07-08 Jody Goldberg * gsf/gsf-outfile-msole.c (ole_name_cmp) : new. (gsf_outfile_msole_new_child) : order the names correctly. (gsf_outfile_msole_close) : write meta bats. * gsf/gsf-msole-impl.h : add OLE_HEADER_METABAT_SIZE. * gsf/gsf-infile-msole.c (ole_init_info) : use it here. * gsf/gsf-outfile-msole.c (gsf_outfile_msole_close) : and here. 2002-07-07 Jody Goldberg * gsf/Makefile.am : Make gsf-impl-utils.h public 2002-07-06 Jody Goldberg * gsf/gsf-msole-impl.h : pull in more information. We may not need it but it makes for better documentation than 'unknown' 2002-07-06 Jody Goldberg * gsf/gsf-outfile-msole.c : initial implementation. * gsf/gsf-outfile.c : initial implementation. * gsf/gsf-output.c : initial implementation. 2002-07-05 Jody Goldberg * gsf/gsf-infile-msole.c (ole_dirent_new) : be more anal in case the input file has a cycle. 2002-07-03 Jody Goldberg * tests/test-textline.c (test) : make the compiler shut up. 2002-06-27 Morten Welinder * gsf/gsf-input-gzip.c (check_header): Set header_size here. (gsf_input_gzip_read): When allocating a buffer, allocate at least 256 bytes so we don't have to realloc all the time. (gsf_input_gzip_read): Handle truncated streams. * gsf/gsf-input.c (gsf_input_seek): Handle seeks that go to same position here. (gsf_input_uncompress): Reorganise a bit. * gsf/gsf-infile-msole.c (ole_dirent_free): Actually free the dirent. And the list of children. 2002-06-27 Morten Welinder * gsf/gsf-input-gzip.c (gsf_input_gzip_read): Exit on error. * gsf/gsf-infile-msole.c (ole_init_info): Always set error info. * configure.in (LIBGSF_LIBS): Include the Bonobo libs. * tests/test-msole2.c (test): Plug leak. Uncompress source. * gsf/gsf-input.c (gsf_input_uncompress): New function. * gsf/gsf-input-gzip.c (gsf_input_gzip_finalize): Plug leak. 2002-06-27 Jon K Hellan * gsf/gsf-input-bonobo.c: Actually check in the stuff mentioned yesterday. 2002-06-27 Morten Welinder * gsf/gsf-input-gzip.c (gsf_input_gzip_seek): Attempt implementation. * gsf/gsf-input.c (gsf_input_seek): Make pos an off_t. 2002-06-26 Jon K Hellan * gsf/gsf-input-bonobo.c (struct _GsfInputBonobo): Replace stream attribute with GsfSharedBonoboStream * 'shared'. Add 'pos' attribute. (gib_synch_shared_ptr): New helper function. Seek the shared stream if necessary. (gsf_input_bonobo_new): Probably better to free the exceptions *after* retrieving the exception texts. Initialize 'shared'. (gsf_input_bonobo_finalize): unref 'shared'. (gsf_input_bonobo_dup): Implement. (gsf_input_bonobo_read): Use shared stream. Use gib_synch_shared_ptr to seek first if necessary. (gsf_input_bonobo_seek): Ditto. (gsf_input_bonobo_init): Initialize 'shared'. * gsf/gsf-shared-bonobo-stream.[ch]: new helper class for bonobo stream IO. Lets us dup the streams. * gsf/Makefile.am: added new files. 2002-06-26 Morten Welinder * configure.in: If needed, define __EXTENSIONS__. 2002-06-26 Jon K Hellan * gsf/gsf-input-bonobo.c: Include bonobo-persist-stream.h (gsf_input_bonobo_read): Silence warning. 2002-06-25 Jon K Hellan * configure.in: New flag --with-bonobo * gsf/Makefile.am (INCLUDES): added new files. * gsf/gsf-input-bonobo.[ch]: new class for bonobo stream IO. 2002-06-25 Rodrigo Moya * gsf/gsf-io-context.[ch]: new class for managing IO contexts. * gsf/Makefile.am: added new files. 2002-06-24 Jody Goldberg * python/Makefile.am : pyexec is not available in automake-1.4. nor is nodist_. * acinclude.m4 : something was still interpretting the AC_REQUIRE even though ti was commented out. change case and comment for now to avoid problems. 2002-06-23 Jon K Hellan * acinclude.m4: Comment out everything. 2002-06-21 Jody Goldberg * configure.in : uncomment the AM_CONDITIONAL for WITH_PYTHON 2002-06-21 Jon K Hellan * acinclude.m4: Add it. It provides AM_CHECK_PYTHON_HEADERS. 2002-06-20 Morten Welinder * gsf/gsf-outfile-msole.c (gsf_outfile_msole_new_child): Add missing arg. 2002-06-20 Jon K Hellan * configure.in: Add support for building Python bindings, but comment it out because it requires automake1.5. * Makefile.am: Build python subdir if WITH_PYTHON is set. 2002-06-18 Rui M. Seabra * libgsf-1.spec.in : set permission correctly fix common mistake of Copyright flag into License flag. 2002-06-18 Jody Goldberg * configure.in : lower the libxml version req 2002-06-17 Jody Goldberg * gsf/gsf-outfile.c (gsf_outfile_new_child) : adjust signature to include 'is_dir' 2002-06-15 Jody Goldberg * gsf/gsf-input.c (gsf_input_eof) : fix docs. * gsf/gsf-utils.c (gsf_mem_dump) : use size_t. 2002-06-13 Jody Goldberg * gsf/gsf-input-textline.c (gsf_input_textline_ascii_gets) : implement. (gsf_input_textline_utf8_gets) : pretend to implement. 2002-06-13 Jody Goldberg * Makefile.am : move the tests into a standalone dir because they are getting irritating to build for every single library rebuild. 2002-06-13 Morten Welinder * gsf/gsf-infile-msvba.c (vba_inflate): Make offset an off_t. 2002-06-13 Jody Goldberg * gsf/gsf-outfile-msole.c : initial stub implementation. * gsf/gsf-outfile.c : initial stub implementation. * gsf/gsf-output-stdio.c : initial stub implementation. * gsf/gsf-output.c : initial stub implementation. 2002-06-13 Jody Goldberg * gsf/gsf-infile-msvba.c (vba_inflate) : cleanup. 2002-06-13 Jody Goldberg * gsf/gsf-infile-msole.h (GSF_OLE_GET_GUINT{8,16,32}) : move to gsf-utils and rename. * gsf/gsf-input-memory.c (gsf_input_memory_dup) : silence warning. (gsf_input_mmap_new) : fix the no mmap case. 2002-06-12 Jody Goldberg * gsf/gsf-infile-msvba.c (vba_inflate) : store the uncompressed result. (vba_dirent_read) : new. We can now lookup the correct offsets for the compressed source. The question remaining is how to fin the start of the dir table ... 2002-06-12 Rodrigo Moya * gsf/*: s/IS_GSF/GSF_IS. 2002-06-12 Jon K Hellan * libgsf-1.pc.in (Requires): Add libxml-2.0 2002-06-11 Jody Goldberg * gsf/gsf-infile-msole.c (gsf_infile_msole_read) : fix reading into an assigned buffer for small block files. 2002-06-10 Jody Goldberg * gsf/gsf-infile.c (gsf_infile_child_by_name) : typo. 2002-06-09 J.H.M. Dassen (Ray) * gsf/test-msole1.c (read_types): Casts to suppress signedness warnings. * gsf/gsf-input-memory.c (gsf_input_memory_read): Changed src type to guchar. * gsf/gsf-input-textline.c (gsf_input_textline_ascii_gets): Cast return value. * gsf/gsf-infile-msole.c (ole_dirent_new): Signedness fixes. * debian/*: updated; include pkgconfig file. 2002-06-09 Jody Goldberg * gsf/gsf-infile-msvba.c : new. * gsf/test-msvba.c : new. * gsf/gsf-infile.c (gsf_infile_child_by_vname) : new utility routine. 2002-06-07 Jody Goldberg * gsf/gsf-input.c (gsf_input_dup) : Add an err parameter. 2002-06-07 Morten Welinder * gsf/gsf-input-stdio.c (gsf_input_stdio_new): Plug FILE* leak. (gsf_input_stdio_dup): Go via filename. 2002-06-07 Jody Goldberg * doc/Makefile.am : fix the type init function for gtk-doc. * gsf/* : fix docs a bit. 2002-06-07 Jody Goldberg * gsf/gsf-utils.c (gsf_input_dump) : new utility split out of. * gsf/test-gzip1.c (test) : here. * gsf/test-msole2.c (test) : spruce this up a might so that it can be used as a general utility to dump streams and storages. * gsf/gsf-input-stdio.c (gsf_input_stdio_dup) : dup the descriptor before creating a new file handle. 2002-06-06 Jody Goldberg * configure.in : remove -Wmissing-noreturn * gsf/test-msole1.c (test) : remove the --use-memory bit. Just use mmap. We can test the other input types in another program. * gsf/*.c : change the convention for wrappers. They all add their own references to the source rather than absorbing the ref that was passed in. 2002-06-06 Jody Goldberg * configure.in : add zlib. * libgsf-1.pc.in (Cflags) : ditto. * gsf/gsf-input-gzip.c : wrapper to uncompress things. * gsf/gsf-libxml.c : some convenience routines for dealing with libxml. * gsf/test-gzip1.c : add some tests for gzip. 2002-06-05 Morten Welinder * gsf/*.[ch]: switch to using system types. 2002-06-05 Jon K Hellan * gsf/Makefile.am: Fix typo - libgsf_1_includedir didn't get defined. 2002-06-05 Jody Goldberg * gsf/gsf-input-memory.c (gsf_input_mmap_new) : set the filename. 2002-06-04 Jody Goldberg * gsf/gsf-input.c (gsf_input_eof) : do this internally. * gsf/gsf-input* : remove the _eof methods. 2002-06-04 Morten Welinder * gsf/gsf-input-impl.h (GsfInputClass): Change structure members from "read" to "Read", etc. This avoids names reserved by the system libraries. 2002-06-04 Morten Welinder * gsf/test-msole1.c (test): Add --memory option. * gsf/gsf-shared-memory.c: New class. * gsf/gsf-input-memory.c (gsf_input_memory_new): Use new GsfSharedMemory class. (gsf_input_memory_read): Add missing parameter. 2002-06-01 Jody Goldberg * gsf/Makefile.am : Add gsf-input-textline.[ch] Add gsf-libxml.[ch] 2002-05-30 Jody Goldberg * gsf/gsf-input-stdio.h : fix the name mismatch. 2002-05-28 Jody Goldberg * gsf/gsf-input.c (gsf_input_seek) : doh! 2002-05-28 Morten Welinder * gsf/gsf-infile-msole.c (ole_make_bat): Cast via gconstpointer to please gcc. * gsf/gsf-infile-msole.h (GSF_OLE_GET_GUINT8, GSF_OLE_GET_GUINT16, GSF_OLE_GET_GUINT32): fix alignment problems. * gsf/test-msole1.c (read_types): Fix isspace usage. 2002-05-27 Jody Goldberg * gsf/gsf-infile-msole.c : add some prepoc constants to prep for export support. 2002-05-25 Jody Goldberg * README : add more details 2002-05-25 Jody Goldberg * gsf/test-msole1.c (get_biff_opcode_name) : suppress warning. * gsf/gsf-input-memory.c (gsf_input_mmap_new) : ensure it is a regular file. * configure.in : remove -Wundef to shut it up about glib. remove -Wcast-qual because we sometimes need to explicitly cast away const. C does not have const_cast<>(). 2002-05-25 Jody Goldberg * gsf/gsf-impl-utils.h (GSF_CLASS_FULL) : suppress warning. * gsf/gsf-infile-msole.c (ole_dirent_new) : disable debug spew. (ole_init_info) : suppress bogus compile warning. Use gsf_ole_get_guint32s to convert the data to normal endianness. (gsf_ole_get_guint32s) : new. (ole_info_read_metabat) : assume the metabat is already uses native byte ordering. * gsf/gsf-input.c (gsf_input_seek) : suppress warning. (gsf_input_dup) : ditto. (gsf_input_init) : ditto. 2002-05-25 J.H.M. Dassen (Ray) * configure.in: Actually use warning flags from GNOME_COMPILE_WARNINGS, so "--enable-warnings=maximum" and "--with-iso-c" are honoured. Test whether defining _BSD_SOURCE is needed for caddr_t. (e.g. on Debian with -ansi for gcc3.0 and 3.1) Test whether defining _POSIX_SOURCE is needed for fdopen(). Enable a lot more warnings. * debian/rules: minor tweaks. 2002-05-25 Jody Goldberg * gsf/gsf-input.c (gsf_input_seek) : more error checking. 2002-05-25 Jody Goldberg * gsf/test-msole1.c (test) : dump head of odd records. * gsf/gsf-input.c (gsf_input_seek) : do more of the work up here. * gsf/gsf-infile-msole.c (gsf_infile_msole_seek) : adjust here. * gsf/gsf-input-stdio.c (gsf_input_stdio_seek) : and here. * gsf/gsf-input-memory.c (gsf_input_memory_seek) : and here. 2002-05-25 Jody Goldberg * gsf/gsf-infile-msole.c (ole_dirent_new) : fix off by 1 error in handling broken ascii stream names. 2002-05-25 Jody Goldberg * gsf/gsf-infile-msole.c (ole_init_info) : libole2 knew about a smidge more of the ole header, use the sbat counter. * gsf/test-msole1.c (test) : even more sanity checking. 2002-05-25 Jody Goldberg * gsf/test-msole1.c (test) : add more safety checks to automate validation of imported biff records. * gsf/gsf-infile-msole.c (ole_dirent_new) : Based on char-width2.xls it looks like directory sizes are periodically screwed. 2002-05-25 Jody Goldberg * gsf/gsf-infile-msole.c : fix small block support. Handle the bogus use of ascii stream names in some case. 2002-05-24 Jody Goldberg * gsf/gsf-input-stdio.c (gsf_input_stdio_new) : merge the size checking in here and do more error reporting. (gsf_input_stdio_class_init) : delete gsf_input_stdio_size (gsf_input_stdio_size) : delete. * gsf/gsf-input.c (gsf_input_read) : put the bound check here. 2002-05-24 Jody Goldberg * gsf/gsf-input-stdio.c (gsf_input_stdio_new) : make buf_size unsigned. (gsf_input_stdio_finalize) : and here. (gsf_input_stdio_read) : and here. * gsf/gsf-input.c (gsf_input_seek) : As morten suggested this is better as > size rather than >= size. 2002-05-24 Jody Goldberg * gsf/gsf-infile-msole.c (gsf_infile_msole_read) : only seek if we need to. 2002-05-24 Jody Goldberg * gsf/test-msole1.c (test) : more debug info, and less content spew. 2002-05-23 Jody Goldberg * gsf/gsf-input-stdio.c (gsf_input_stdio_size) : be more careful about people who open devices. 2002-05-23 Jody Goldberg * gsf/gsf-infile-msole.c (ole_dirent_new) : more error handling. (ole_info_get_sb_file) : make things more readable and split this out. (gsf_infile_msole_new_child) : fix reading small blocks. 2002-05-23 Jody Goldberg * gsf/gsf-infile-msole.h (GSF_OLE_GET_GUINT8) : move here. (GSF_OLE_GET_GUINT16) : ditto. (GSF_OLE_GET_GUINT32) : ditto. 2002-05-23 Jody Goldberg * gsf/gsf-utils.h : Use the glib type macros instead of defining our own. 2002-05-23 J.H.M. Dassen (Ray) * doc/Makefile.am: Introduced DOC_DIR so the location can be easily overridden when building packages. * debian/*: Preliminary Debian packaging. 2002-05-23 Jody Goldberg * gsf/gsf-infile-msole.c (ole_info_read_xbat) : DOH! We need to check endianness when reading the bat elements. (gsf_infile_msole_read) : slow but effective work around for breaking at block boundaries. I'll work up something faster this evening. 2002-05-19 Jody Goldberg * Start making this into a real package.