Sophie

Sophie

distrib > Mandriva > 8.1 > i586 > by-pkgid > 7a758bdd2160a4d147292e91e454880b > files > 126

wv-devel-0.6.5-2mdk.i586.rpm

X-RDate: Mon, 12 Oct 1998 18:12:44 +0100 (IST)
Received: from mailgate.ul.ie ([136.201.1.23]) by exch-staff1.ul.ie with SMTP
 (Microsoft Exchange Internet Mail Service Version 5.5.1960.3) id 4QKT1J2B;
 Mon, 12 Oct 1998 17:39:50 +0100
Received: from centauri.lci.ulsa.mx by mailgate.ul.ie with SMTP (PP) id
 <07836-0@mailgate.ul.ie>; Mon, 12 Oct 1998 17:55:27 +0000
Received: from localhost (filters@localhost) by centauri.lci.ulsa.mx
 (8.8.7/8.8.7) with SMTP id DAA19536; Mon, 12 Oct 1998 03:35:22 -0500
Date: Mon, 12 Oct 1998 03:35:22 -0500 (CDT)
Reply-To: Filters Proyect <filters@centauri.lci.ulsa.mx>
Message-ID: <Pine.LNX.3.96.981012025845.18827H-101000@centauri.lci.ulsa.mx>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="231244123-63504888-908179209=:18827"
Content-ID: <Pine.LNX.3.96.981012030124.18827J@centauri.lci.ulsa.mx>
XFMstatus: 0200
From: Filters Proyect <filters@centauri.lci.ulsa.mx>
To: Caolan McNamara <Caolan.McNamara@ul.ie>,
 Andrew Scriven <andy.scriven@research.natpower.co.uk>
Subject: OLEdecod

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--231244123-63504888-908179209=:18827
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.LNX.3.96.981012030124.18827K@centauri.lci.ulsa.mx>

Hello.

Andrew, I have studied your excellent code. Thank you for writting it! I
never though that a replacement for LAOLA in C could be done in a very few
lines of code.  And thank you to explain me about directories in OLE files
too. It is easy, but I didn't understood until you explain it to me. Thank
you again. 

As attachment (gzipped), I send you guys my own version of the Andrew's
code.  Andrew, if you like it, you could incorporate it to your own version:

Changes:

* Added a lot of validations (memory allocations and file access).
* Named OLEdecod (Andrew please, rename it again if you want).
* Include the Caolan's read from memory functions (Andrew's functions
  didn't work for me, in Intel, I don't know why).
* Simplified the memory pps structure. Before, pps_list was a pointer to
  an array of pointers to pps_entry. Now, pps_list is a pointer to an
  array of pps_entry. Less memory to allocate!
* Each pps of type file (called by Microsoft streams) are now saved in
  separated temporal files, wich names are in pps_list.
* Added freeOLEtree function, wich should be called after processing the
  tree (see main.c).
* In pps_entry, changed type of next, previous and dir fields: now are U32
  (unsigned long int) for simplicity.
* Added an example (main.c) wich shows how to visit only the top level
  streams (Caolan, see that file).
* Added VERBOSE symbol. Compile the attachment using -DVERBOSE, please.
* Added more bytes that I would want.
* Tested on MS-DOS (compiled with Borland C++ 3.1).

Missing:

* Don't know how to interpret seconds and days fields.
* The solution to MAXBLOCKS artificial limit.
  Here, one proposed solution:
     Before extract the sbd block list, read all the number blocks from
     BDepot and count it, then allocate the nedded memory and finally
     extract the list.
  This solution should be easy, and fast because we read from memory.
  The same goes for root_list.
* Write and test big endian version of Caolan's read from memory functions.

And that's all.

Hope you like it. Please, send me your opinions and flames.


-- Filters Proyect Maintainer: Arturo Tena <filters@centauri.lci.ulsa.mx>
<http://centauri.lci.ulsa.mx/~filters/> (this server is down in weekends :( ) 


--231244123-63504888-908179209=:18827
Content-Type: APPLICATION/X-GUNZIP; NAME="all.c.gz"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.96.981012030009.18827I@centauri.lci.ulsa.mx>
Content-Description: 

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
AA==

--231244123-63504888-908179209=:18827--