libextractor

GNU libextractor
Log | Files | Refs | Submodules | README | LICENSE

commit e19ffccd5318595dc30262ecc88ab3bd90b30ad8
parent 9942b74efc813b4a309c0f570d07b222b98f3795
Author: LRN <lrn1986@gmail.com>
Date:   Tue, 21 Apr 2015 15:52:25 +0000

Make ole2 extractor compatible with newer libgsf

Diffstat:
Mconfigure.ac | 1+
Msrc/plugins/ole2_extractor.c | 12+++++++++++-
2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac @@ -638,6 +638,7 @@ AM_CONDITIONAL(HAVE_GSF, test "x$have_gsf" = "xtrue") # produce new line echo "" AC_CHECK_LIB(gsf-1, gsf_init, AC_DEFINE(HAVE_GSF_INIT,1,[gsf_init supported])) +AC_CHECK_LIB(gsf-1, gsf_doc_meta_data_read_from_msole, AC_DEFINE(HAVE_GSF_DOC_META_DATA_READ_FROM_MSOLE,1,[gsf_doc_meta_data_read_from_msole supported])) AC_CHECK_PROG([HAVE_ZZUF],[zzuf], 1, 0) AM_CONDITIONAL(HAVE_ZZUF, test 0 != $HAVE_ZZUF) diff --git a/src/plugins/ole2_extractor.c b/src/plugins/ole2_extractor.c @@ -283,17 +283,27 @@ process (GsfInput *in, { struct ProcContext pc; GsfDocMetaData *sections; + GError *error; pc.proc = proc; pc.proc_cls = proc_cls; pc.ret = 0; sections = gsf_doc_meta_data_new (); - if (NULL == gsf_msole_metadata_read (in, sections)) +#ifdef HAVE_GSF_DOC_META_DATA_READ_FROM_MSOLE + error = gsf_doc_meta_data_read_from_msole (sections, in); +#else + error = gsf_msole_metadata_read (in, sections); +#endif + if (NULL == error) { gsf_doc_meta_data_foreach (sections, &process_metadata, &pc); } + else + { + g_error_free (error); + } g_object_unref (G_OBJECT (sections)); return pc.ret; }