#37 libpst under win32

open
nobody
None
5
2003-11-25
2003-11-25
Jorge Senin
No

This is the output in win32:
----------------------------------------------
main: Opening PST file
sig = 4E444221
encrypt = 1
pst_open: Pointer2 is 0XB014C00, count 720635
[0xafefb], depth 0xff
pst_open: Pointer1 is 0XD2B6600, count 720653
[0xaff0d], depth 0xff
main: Loading Indexes
_pst_build_id_ptr: This table isn't right. Must be
corruption, or I got it wrong!
_pst_build_id_ptr: This item isn't right. Must be
corruption, or I got it wrong!
_pst_build_id_ptr: This item isn't right. Must be
corruption, or I got it wrong!
_pst_build_id_ptr: This item isn't right. Must be
corruption, or I got it wrong!
_pst_build_id_ptr: This item isn't right. Must be
corruption, or I got it wrong!
_pst_build_id_ptr: This item isn't right. Must be
corruption, or I got it wrong!
_pst_build_id_ptr: This item isn't right. Must be
corruption, or I got it wrong!
_pst_build_id_ptr: This item isn't right. Must be
corruption, or I got it wrong!
_pst_build_id_ptr: This item isn't right. Must be
corruption, or I got it wrong!
_pst_build_id_ptr: This item isn't right. Must be
corruption, or I got it wrong!
_pst_build_id_ptr: This item isn't right. Must be
corruption, or I got it wrong!
pst_load_index: This table isn't right. Perhaps we are too
deep, or corruption
pst_load_index: ERROR -- not found parent with id 0x122
pst_load_index: This table isn't right. Perhaps we are too
deep, or corruption
pst_load_index: This table isn't right. Perhaps we are too
deep, or corruption
_pst_parse_item: Have not been able to fetch any id2
values for this item. Brace yourself!
_pst_parse_item: why is d_ptr->desc == NULL? I don't
want to do anything else with this record
main: Could not get root record
-------------------------------------------
Under linux, with the same .pst show the same message
except last line, after this works fine under linux only.

modifications :

#define _MSC_VER /* force windows even i use gcc*/

#ifndef _MSC_VER
#include "timeconv.h"
#include <unistd.h>

#include <endian.h>
#include <byteswap.h>

# if __BYTE_ORDER == __BIG_ENDIAN
# define LE32_CPU(x) x = bswap_32(x);
# define LE16_CPU(x) x = bswap_16(x);
# elif __BYTE_ORDER == __LITTLE_ENDIAN
# define LE32_CPU(x) {}
# define LE16_CPU(x) {}
# else
# error "Byte order not supported by this library"
# endif

#endif //ifdef _MSC_VER

#include "libpst.h"

#ifdef _MSC_VER
#include "getopt.h" /* get from
freegetopt.sourceforge.net */
#include "windows.h"
/* there are redefined in define.h
#define WARN printf
#define DEBUG_INFO printf
#define DEBUG_EMAIL printf
#define DEBUG_READ printf
#define DEBUG_DECRYPT printf
#define DEBUG_CODE printf
#define DEBUG_INDEX printf
#define DEBUG_WARN printf
#define DEBUG printf
*/

#define LE32_CPU(x) {}
#define LE16_CPU(x) {}
#endif // _MSC_VER

only this changes and added getopt.o in Makefile.

thanks

Discussion

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks