From: Victor Wagner Date: Sat, 25 Feb 2006 15:28:14 +0000 (+0000) Subject: Now searches root entry by entry type, not by name X-Git-Tag: REL_0_94_2~2 X-Git-Url: http://www.wagner.pp.ru/gitweb/?a=commitdiff_plain;ds=sidebyside;h=556e2a24c66cb05296297c7937b3590b228cccf4;p=oss%2Fcatdoc.git Now searches root entry by entry type, not by name --- diff --git a/configure.in b/configure.in index d1b2d4c..4735c3a 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(acconfig.h) -catdoc_version=0.94.1 +catdoc_version=0.94.2 dnl Checks for programs. AC_PROG_CC case ${CC} in diff --git a/src/makefile.tc b/src/makefile.tc index 53f8df1..aeaa654 100644 --- a/src/makefile.tc +++ b/src/makefile.tc @@ -1,7 +1,7 @@ CC=tcc TCDIR=c:\tc LIB=$(TCDIR)\lib -CFLAGS=-v -w -mc -DHAVE_LANGINFO -DHAVE_STRDUP -DCATDOC_VERSION="0.94.1" +CFLAGS=-v -w -mc -DHAVE_LANGINFO -DHAVE_STRDUP -DCATDOC_VERSION="0.94.2" OBJ=charsets.obj substmap.obj reader.obj writer.obj fileutil.obj langinfo.obj analyze.obj confutil.obj rtfread.obj numutils.obj sheet.obj xlsparse.obj ole.obj strftime.obj pptparse.obj .c.obj: $(CC) -v -c -mc -I../compat $(CFLAGS) $* diff --git a/src/ole.c b/src/ole.c index ff21a30..9931b57 100644 --- a/src/ole.c +++ b/src/ole.c @@ -2,7 +2,7 @@ * @file ole.c * @author Alex Ott, Victor B Wagner * @date Wed Jun 11 12:33:01 2003 - * Version: $Id: ole.c,v 1.1 2006-02-24 17:44:06 vitus Exp $ + * Version: $Id: ole.c,v 1.2 2006-02-25 15:28:14 vitus Exp $ * Copyright: Victor B Wagner, 1996-2003 Alex Ott, 2003 * * @brief Parsing structure of MS Office compound document @@ -243,7 +243,7 @@ FILE* ole_init(FILE *f, void *buffer, size_t bufSize) { /* Find Root Entry */ while((tEntry=(oleEntry*)ole_readdir(newfile)) != NULL) { - if (!tEntry->name[0]||strcmp(tEntry->name,"Root Entry") == 0) { + if (tEntry->type == oleRootDir ) { rootEntry=tEntry; break; } @@ -252,8 +252,7 @@ FILE* ole_init(FILE *f, void *buffer, size_t bufSize) { propCurNumber = 0; fseek(newfile, 0, SEEK_SET); if (!rootEntry) { - fprintf(stderr,"Cannot find root entry in this file!\n"); - ole_finish(); + fprintf(stderr,"Broken OLE structure. Cannot find root entry in this file!\n"); ole_finish(); return NULL; } return newfile;