Mercurial > libpst
annotate src/deltasearch.cpp @ 118:0f1492b7fe8b
patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
add processing for pst files of type 0x0f
start adding support for properly building and installing libpst.so and the header files required to use it.
remove version.h since the version number is now in config.h
more const correctness issues regarding getopt()
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Sat, 31 Jan 2009 12:12:36 -0800 |
parents | 3cb02cb1e6cd |
children | 7f747c8c9d02 |
rev | line source |
---|---|
43 | 1 #include <stdio.h> |
2 #include <iostream> | |
3 #include <sys/types.h> | |
4 #include <sys/stat.h> | |
5 #include <fcntl.h> | |
6 using namespace std; | |
7 extern "C" { | |
8 #include "define.h" | |
9 }; | |
10 | |
11 unsigned char comp_enc [] = | |
12 { 0x47, 0xf1, 0xb4, 0xe6, 0x0b, 0x6a, 0x72, 0x48, | |
13 0x85, 0x4e, 0x9e, 0xeb, 0xe2, 0xf8, 0x94, 0x53, /*0x0f*/ | |
14 0xe0, 0xbb, 0xa0, 0x02, 0xe8, 0x5a, 0x09, 0xab, | |
15 0xdb, 0xe3, 0xba, 0xc6, 0x7c, 0xc3, 0x10, 0xdd, /*0x1f*/ | |
16 0x39, 0x05, 0x96, 0x30, 0xf5, 0x37, 0x60, 0x82, | |
17 0x8c, 0xc9, 0x13, 0x4a, 0x6b, 0x1d, 0xf3, 0xfb, /*0x2f*/ | |
18 0x8f, 0x26, 0x97, 0xca, 0x91, 0x17, 0x01, 0xc4, | |
19 0x32, 0x2d, 0x6e, 0x31, 0x95, 0xff, 0xd9, 0x23, /*0x3f*/ | |
20 0xd1, 0x00, 0x5e, 0x79, 0xdc, 0x44, 0x3b, 0x1a, | |
21 0x28, 0xc5, 0x61, 0x57, 0x20, 0x90, 0x3d, 0x83, /*0x4f*/ | |
22 0xb9, 0x43, 0xbe, 0x67, 0xd2, 0x46, 0x42, 0x76, | |
23 0xc0, 0x6d, 0x5b, 0x7e, 0xb2, 0x0f, 0x16, 0x29, /*0x5f*/ | |
24 0x3c, 0xa9, 0x03, 0x54, 0x0d, 0xda, 0x5d, 0xdf, | |
25 0xf6, 0xb7, 0xc7, 0x62, 0xcd, 0x8d, 0x06, 0xd3, /*0x6f*/ | |
26 0x69, 0x5c, 0x86, 0xd6, 0x14, 0xf7, 0xa5, 0x66, | |
27 0x75, 0xac, 0xb1, 0xe9, 0x45, 0x21, 0x70, 0x0c, /*0x7f*/ | |
28 0x87, 0x9f, 0x74, 0xa4, 0x22, 0x4c, 0x6f, 0xbf, | |
29 0x1f, 0x56, 0xaa, 0x2e, 0xb3, 0x78, 0x33, 0x50, /*0x8f*/ | |
30 0xb0, 0xa3, 0x92, 0xbc, 0xcf, 0x19, 0x1c, 0xa7, | |
31 0x63, 0xcb, 0x1e, 0x4d, 0x3e, 0x4b, 0x1b, 0x9b, /*0x9f*/ | |
32 0x4f, 0xe7, 0xf0, 0xee, 0xad, 0x3a, 0xb5, 0x59, | |
33 0x04, 0xea, 0x40, 0x55, 0x25, 0x51, 0xe5, 0x7a, /*0xaf*/ | |
34 0x89, 0x38, 0x68, 0x52, 0x7b, 0xfc, 0x27, 0xae, | |
35 0xd7, 0xbd, 0xfa, 0x07, 0xf4, 0xcc, 0x8e, 0x5f, /*0xbf*/ | |
36 0xef, 0x35, 0x9c, 0x84, 0x2b, 0x15, 0xd5, 0x77, | |
37 0x34, 0x49, 0xb6, 0x12, 0x0a, 0x7f, 0x71, 0x88, /*0xcf*/ | |
38 0xfd, 0x9d, 0x18, 0x41, 0x7d, 0x93, 0xd8, 0x58, | |
39 0x2c, 0xce, 0xfe, 0x24, 0xaf, 0xde, 0xb8, 0x36, /*0xdf*/ | |
40 0xc8, 0xa1, 0x80, 0xa6, 0x99, 0x98, 0xa8, 0x2f, | |
41 0x0e, 0x81, 0x65, 0x73, 0xe4, 0xc2, 0xa2, 0x8a, /*0xef*/ | |
42 0xd4, 0xe1, 0x11, 0xd0, 0x08, 0x8b, 0x2a, 0xf2, | |
43 0xed, 0x9a, 0x64, 0x3f, 0xc1, 0x6c, 0xf9, 0xec}; /*0xff*/ | |
44 | |
118
0f1492b7fe8b
patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents:
73
diff
changeset
|
45 int main(int argc, char* const* argv) { |
43 | 46 if (argc < 4) { |
118
0f1492b7fe8b
patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents:
73
diff
changeset
|
47 printf("usage: %s filename.pst integer-delta search-string\n", argv[0]); |
43 | 48 return 0; |
49 } | |
50 int fd = open(argv[1], O_RDONLY); | |
51 int d = atoi(argv[2]); | |
52 string search(argv[3]); | |
118
0f1492b7fe8b
patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents:
73
diff
changeset
|
53 printf("using file %s with delta %d looking for %s\n", argv[1], d, argv[3]); |
43 | 54 if (fd) { |
55 struct stat st; | |
56 fstat(fd, &st); | |
57 off_t size = st.st_size; | |
73
3cb02cb1e6cd
Patch from Robert Simpson to fix doubly-linked list in the cache_ptr code, and allow arrays of unicode strings (without converting them).
Carl Byington <carl@five-ten-sg.com>
parents:
46
diff
changeset
|
58 char buf[size]; |
43 | 59 size_t s = read(fd, buf, size); |
46 | 60 pst_debug_hexdumper(stdout, buf, s, 16, 0); |
118
0f1492b7fe8b
patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents:
73
diff
changeset
|
61 printf("\n\n dump decrypted data \n"); |
43 | 62 for (off_t i=0; i<size; i++) { |
73
3cb02cb1e6cd
Patch from Robert Simpson to fix doubly-linked list in the cache_ptr code, and allow arrays of unicode strings (without converting them).
Carl Byington <carl@five-ten-sg.com>
parents:
46
diff
changeset
|
63 buf[i] = comp_enc[(unsigned char)buf[i]]; |
43 | 64 } |
46 | 65 pst_debug_hexdumper(stdout, buf, s, 16, 0); |
43 | 66 close(fd); |
67 } | |
68 return 0; | |
69 } |