From 556e2a24c66cb05296297c7937b3590b228cccf4 Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Sat, 25 Feb 2006 15:28:14 +0000 Subject: [PATCH] Now searches root entry by entry type, not by name --- configure.in | 2 +- src/makefile.tc | 2 +- src/ole.c | 7 +++---- 3 files changed, 5 insertions(+), 6 deletions(-) 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; -- 2.39.5