# HG changeset patch # User Carl Byington # Date 1239997919 25200 # Node ID cf3df962f1e5fc3f0996bb1ef013d0040cbc3218 # Parent 774b2e77eb5087b12b41935d3691311b03e3c5d3 prep for fedora build diff -r 774b2e77eb50 -r cf3df962f1e5 ChangeLog --- a/ChangeLog Thu Apr 16 08:59:56 2009 -0700 +++ b/ChangeLog Fri Apr 17 12:51:59 2009 -0700 @@ -1,4 +1,4 @@ -LibPST 0.6.37 (2009-04-16) +LibPST 0.6.37 (2009-04-17) =============================== * add pst_attach_to_mem() back into the shared library interface. * improve developer documentation. diff -r 774b2e77eb50 -r cf3df962f1e5 NEWS --- a/NEWS Thu Apr 16 08:59:56 2009 -0700 +++ b/NEWS Fri Apr 17 12:51:59 2009 -0700 @@ -1,4 +1,4 @@ -0.6.37 2009-04-16 add pst_attach_to_mem() back into the shared library interface. +0.6.37 2009-04-17 add pst_attach_to_mem() back into the shared library interface. 0.6.36 2009-04-14 build separate -doc and -devel-doc subpackages 0.6.35 2009-04-08 properly add trailing mime boundary in all modes, build separate rpms with libpst.so shared. 0.6.34 2009-03-19 avoid putting mixed item types into the same output folder diff -r 774b2e77eb50 -r cf3df962f1e5 TODO --- a/TODO Thu Apr 16 08:59:56 2009 -0700 +++ b/TODO Fri Apr 17 12:51:59 2009 -0700 @@ -4,6 +4,9 @@ pst2diii needs header and mime type updates from readpst. -Change more c symbols to reflect mapi_element and mapi_object. A -mapi_object (email etc.) is composed of a list of mapi_elements -(subject, charset, etc.). +At the next soname bump (to libpst.so.3) we should + remove contact->access_method (or find the proper mapi element id for it) + remove pst_x_attrib_ll->type (unused) + reorder appointment fields to collect related fields + remove readpstlog, and produce directly ascii debug log files + diff -r 774b2e77eb50 -r cf3df962f1e5 libpst.spec.in --- a/libpst.spec.in Thu Apr 16 08:59:56 2009 -0700 +++ b/libpst.spec.in Fri Apr 17 12:51:59 2009 -0700 @@ -125,7 +125,7 @@ %changelog -* Thu Apr 16 2009 Carl Byington - 0.6.37-1 +* Fri Apr 17 2009 Carl Byington - 0.6.37-1 - add pst_attach_to_mem() back into the shared library interface. - fix memory leak caught by valgrind. diff -r 774b2e77eb50 -r cf3df962f1e5 src/Makefile.am --- a/src/Makefile.am Thu Apr 16 08:59:56 2009 -0700 +++ b/src/Makefile.am Fri Apr 17 12:51:59 2009 -0700 @@ -22,7 +22,7 @@ libpst.c \ libstrfunc.c \ lzfu.c \ - timeconv.c \ + timeconv.c \ vbuf.c @@ -72,6 +72,7 @@ common.h \ libpst.h \ libstrfunc.h\ + lzfu.h \ timeconv.h \ vbuf.h libpst_la_LDFLAGS = $(NO_UNDEFINED) -version-info @LIBPST_VERSION_INFO@ diff -r 774b2e77eb50 -r cf3df962f1e5 src/libpst.c --- a/src/libpst.c Thu Apr 16 08:59:56 2009 -0700 +++ b/src/libpst.c Fri Apr 17 12:51:59 2009 -0700 @@ -4191,7 +4191,8 @@ * @return pointer to a static buffer holding the string representation of the * equivalent iconv character set */ -const char* codepage(int cp) { +static const char* codepage(int cp); +static const char* codepage(int cp) { static char buffer[20]; switch (cp) { case 932 : return "iso-2022-jp"; @@ -4235,8 +4236,7 @@ * @param item pointer to the mapi item of interest * @return default character set as a string useable by iconv() */ -const char* pst_default_charset(pst_item *item) -{ +const char* pst_default_charset(pst_item *item) { return (item->body_charset.str) ? item->body_charset.str : (item->message_codepage) ? codepage(item->message_codepage) : (item->internet_cpid) ? codepage(item->internet_cpid) : @@ -4249,8 +4249,7 @@ * @param item pointer to the containing mapi item * @param str pointer to the mapi string of interest */ -void pst_convert_utf8_null(pst_item *item, pst_string *str) -{ +void pst_convert_utf8_null(pst_item *item, pst_string *str) { if (!str->str) return; pst_convert_utf8(item, str); } @@ -4261,8 +4260,7 @@ * @param item pointer to the containing mapi item * @param str pointer to the mapi string of interest */ -void pst_convert_utf8(pst_item *item, pst_string *str) -{ +void pst_convert_utf8(pst_item *item, pst_string *str) { if (str->is_utf8) return; if (!str->str) { str->str = strdup(""); diff -r 774b2e77eb50 -r cf3df962f1e5 src/libpst.h --- a/src/libpst.h Thu Apr 16 08:59:56 2009 -0700 +++ b/src/libpst.h Fri Apr 17 12:51:59 2009 -0700 @@ -247,7 +247,9 @@ * the first couple of lines of RTF body so that after modification, then beginning can * once again be found. */ pst_string rtf_body_tag; - /** mapi element 0x1009 PR_RTF_COMPRESSED */ + /** mapi element 0x1009 PR_RTF_COMPRESSED, + * the compressed rtf body data. + * Use pst_lzfu_decompress() to retrieve the actual rtf body data. */ pst_binary rtf_compressed; /** mapi element 0x0e1f PR_RTF_IN_SYNC, * True means that the rtf version is same as text body. @@ -998,14 +1000,6 @@ char * pst_rfc2445_datetime_format(FILETIME *ft); -/** Convert a code page integer into a string suitable for iconv() - * @param cp the code page integer used in the pst file - * @return pointer to a static buffer holding the string representation of the - * equivalent iconv character set - */ -const char* pst_codepage(int cp); - - /** Get the default character set for this item. This is used to find * the charset for pst_string elements that are not already in utf8 encoding. * @param item pointer to the mapi item of interest diff -r 774b2e77eb50 -r cf3df962f1e5 src/libstrfunc.h --- a/src/libstrfunc.h Thu Apr 16 08:59:56 2009 -0700 +++ b/src/libstrfunc.h Fri Apr 17 12:51:59 2009 -0700 @@ -6,7 +6,6 @@ char *pst_base64_encode(void *data, size_t size); char *pst_base64_encode_multiple(void *data, size_t size, int *line_count); -void pst_hexdump(char *hbuf, int start, int stop, int ascii); #endif diff -r 774b2e77eb50 -r cf3df962f1e5 src/lzfu.c --- a/src/lzfu.c Thu Apr 16 08:59:56 2009 -0700 +++ b/src/lzfu.c Fri Apr 17 12:51:59 2009 -0700 @@ -43,7 +43,7 @@ unsigned char flag_mask; // look at one flag bit each time thru the loop uint32_t i; char *out_buf; - uint32_t out_ptr = 0; + uint32_t out_ptr = 0; uint32_t out_size; uint32_t in_ptr; uint32_t in_size; diff -r 774b2e77eb50 -r cf3df962f1e5 src/lzfu.h --- a/src/lzfu.h Thu Apr 16 08:59:56 2009 -0700 +++ b/src/lzfu.h Fri Apr 17 12:51:59 2009 -0700 @@ -1,6 +1,14 @@ #ifndef LZFU_H #define LZFU_H +/** decompress lz compressed rtf data. The initial lz dictionary is preloaded + with rtf specific data. + * @param rtfcomp pointer to the rtf compressed data + * @param compsize size of the compressed data buffer + * @param size pointer to location to return size of the output buffer + * @return pointer to the output buffer containing the decompressed data. + * The caller must free this buffer. + */ char* pst_lzfu_decompress (char* rtfcomp, uint32_t compsize, size_t *size); #endif diff -r 774b2e77eb50 -r cf3df962f1e5 xml/Makefile.am --- a/xml/Makefile.am Thu Apr 16 08:59:56 2009 -0700 +++ b/xml/Makefile.am Fri Apr 17 12:51:59 2009 -0700 @@ -12,6 +12,6 @@ rm -f libpst.xml libpst.sgml mkdir tmp mkdir tmp/libpst - cp ../src/common.h ../src/libpst.h ../src/libstrfunc.h ../src/timeconv.h ../src/vbuf.h tmp/libpst + cp ../src/common.h ../src/libpst.h ../src/libstrfunc.h ../src/lzfu.h ../src/timeconv.h ../src/vbuf.h tmp/libpst doxygen rm -rf tmp