'LibPst'
readpst.c File Reference
#include "define.h"
#include "lzfu.h"
#include "msg.h"
Include dependency graph for readpst.c:

Go to the source code of this file.

Data Structures

struct  file_ll
 

Macros

#define OUTPUT_TEMPLATE   "%s.%s"
 
#define OUTPUT_KMAIL_DIR_TEMPLATE   ".%s.directory"
 
#define KMAIL_INDEX   "../.%s.index"
 
#define SEP_MAIL_FILE_TEMPLATE   "%i%s"
 
#define C_TIME_SIZE   500
 
#define MODE_NORMAL   0
 
#define MODE_KMAIL   1
 
#define MODE_RECURSE   2
 
#define MODE_SEPARATE   3
 
#define OUTPUT_NORMAL   0
 
#define OUTPUT_QUIET   1
 
#define MIME_TYPE_DEFAULT   "application/octet-stream"
 
#define RFC822   "message/rfc822"
 
#define CMODE_VCARD   0
 
#define CMODE_LIST   1
 
#define DMODE_EXCLUDE   0
 
#define DMODE_INCLUDE   1
 
#define OTMODE_EMAIL   1
 
#define OTMODE_APPOINTMENT   2
 
#define OTMODE_JOURNAL   4
 
#define OTMODE_CONTACT   8
 
#define RTF_ATTACH_NAME   "rtf-body.rtf"
 
#define RTF_ATTACH_TYPE   "application/rtf"
 

Functions

int grim_reaper ()
 
pid_t try_fork (char *folder)
 
void process (pst_item *outeritem, pst_desc_tree *d_ptr)
 
void write_email_body (FILE *f, char *body)
 
void removeCR (char *c)
 
void usage ()
 
void version ()
 
void mk_kmail_dir (char *fname)
 
int close_kmail_dir ()
 
void mk_recurse_dir (char *dir)
 
int close_recurse_dir ()
 
void mk_separate_dir (char *dir)
 
int close_separate_dir ()
 
void mk_separate_file (struct file_ll *f, int32_t t, char *extension, int openit)
 
void close_separate_file (struct file_ll *f)
 
char * my_stristr (char *haystack, char *needle)
 
void check_filename (char *fname)
 
int acceptable_ext (pst_item_attach *attach)
 check if the file name extension is acceptable. More...
 
void write_separate_attachment (char f_name[], pst_item_attach *attach, int attach_num, pst_file *pst)
 
void write_embedded_message (FILE *f_output, pst_item_attach *attach, char *boundary, pst_file *pf, int save_rtf, char **extra_mime_headers)
 
void write_inline_attachment (FILE *f_output, pst_item_attach *attach, char *boundary, pst_file *pst)
 
int valid_headers (char *header)
 
void header_has_field (char *header, char *field, int *flag)
 
void header_get_subfield (char *field, const char *subfield, char *body_subfield, size_t size_subfield)
 
char * header_get_field (char *header, char *field)
 
char * header_end_field (char *field)
 
void header_strip_field (char *header, char *field)
 
int test_base64 (char *body, size_t len)
 
void find_html_charset (char *html, char *charset, size_t charsetlen)
 
void find_rfc822_headers (char **extra_mime_headers)
 
void write_body_part (FILE *f_output, pst_string *body, char *mime, char *charset, char *boundary, pst_file *pst)
 
void write_schedule_part_data (FILE *f_output, pst_item *item, const char *sender, const char *method)
 
void write_schedule_part (FILE *f_output, pst_item *item, const char *sender, const char *boundary)
 
void write_normal_email (FILE *f_output, char f_name[], pst_item *item, int mode, int mode_MH, pst_file *pst, int save_rtf, int embedding, char **extra_mime_headers)
 
void write_vcard (FILE *f_output, pst_item *item, pst_item_contact *contact, char comment[])
 
int write_extra_categories (FILE *f_output, pst_item *item)
 write extra vcard or vcalendar categories from the extra keywords fields More...
 
void write_journal (FILE *f_output, pst_item *item)
 
void write_appointment (FILE *f_output, pst_item *item)
 
void create_enter_dir (struct file_ll *f, pst_item *item)
 
void close_enter_dir (struct file_ll *f)
 
char * quote_string (char *inp)
 Backslash-escape quotes and backslashes in the given string. More...
 
int grim_reaper (int waitall)
 
int main (int argc, char *const *argv)
 
char * item_type_to_name (int32_t item_type)
 
int32_t reduced_item_type (int32_t item_type)
 
char * rfc2231_string (char *inp)
 Convert inp to rfc2231 encoding of string. More...
 
int header_match (char *header, char *field)
 

Variables

const char * prog_name
 
char * output_dir = "."
 
int mode = 0
 
int mode_MH = 0
 
int mode_EX = 0
 
int mode_MSG = 0
 
int mode_thunder = 0
 
int output_mode = 0
 
int contact_mode = 0
 
int deleted_mode = 0
 
int output_type_mode = 0xff
 
int contact_mode_specified = 0
 
int overwrite = 0
 
int prefer_utf8 = 0
 
int save_rtf_body = 1
 
int file_name_len = 10
 
pst_file pstfile
 
regex_t meta_charset_pattern
 
char * default_charset = NULL
 
char * acceptable_extensions = NULL
 
int number_processors = 1
 
int max_children = 0
 
int max_child_specified = 0
 
int active_children
 
pid_t * child_processes
 

Macro Definition Documentation

◆ C_TIME_SIZE

#define C_TIME_SIZE   500

Definition at line 18 of file readpst.c.

Referenced by write_normal_email().

◆ CMODE_LIST

#define CMODE_LIST   1

Definition at line 104 of file readpst.c.

Referenced by main().

◆ CMODE_VCARD

#define CMODE_VCARD   0

Definition at line 103 of file readpst.c.

Referenced by main(), and process().

◆ DMODE_EXCLUDE

#define DMODE_EXCLUDE   0

Definition at line 107 of file readpst.c.

◆ DMODE_INCLUDE

#define DMODE_INCLUDE   1

Definition at line 108 of file readpst.c.

Referenced by main(), and process().

◆ KMAIL_INDEX

#define KMAIL_INDEX   "../.%s.index"

Definition at line 14 of file readpst.c.

Referenced by mk_kmail_dir().

◆ MIME_TYPE_DEFAULT

#define MIME_TYPE_DEFAULT   "application/octet-stream"

Definition at line 99 of file readpst.c.

Referenced by write_inline_attachment().

◆ MODE_KMAIL

#define MODE_KMAIL   1

Definition at line 80 of file readpst.c.

Referenced by close_enter_dir(), create_enter_dir(), and main().

◆ MODE_NORMAL

#define MODE_NORMAL   0

Definition at line 76 of file readpst.c.

Referenced by write_embedded_message().

◆ MODE_RECURSE

#define MODE_RECURSE   2

Definition at line 84 of file readpst.c.

Referenced by close_enter_dir(), create_enter_dir(), and main().

◆ MODE_SEPARATE

#define MODE_SEPARATE   3

◆ OTMODE_APPOINTMENT

#define OTMODE_APPOINTMENT   2

Definition at line 112 of file readpst.c.

Referenced by main(), and process().

◆ OTMODE_CONTACT

#define OTMODE_CONTACT   8

Definition at line 114 of file readpst.c.

Referenced by main(), and process().

◆ OTMODE_EMAIL

#define OTMODE_EMAIL   1

Definition at line 111 of file readpst.c.

Referenced by main(), and process().

◆ OTMODE_JOURNAL

#define OTMODE_JOURNAL   4

Definition at line 113 of file readpst.c.

Referenced by main(), and process().

◆ OUTPUT_KMAIL_DIR_TEMPLATE

#define OUTPUT_KMAIL_DIR_TEMPLATE   ".%s.directory"

Definition at line 13 of file readpst.c.

Referenced by mk_kmail_dir().

◆ OUTPUT_NORMAL

#define OUTPUT_NORMAL   0

Definition at line 93 of file readpst.c.

◆ OUTPUT_QUIET

#define OUTPUT_QUIET   1

Definition at line 96 of file readpst.c.

Referenced by close_enter_dir(), main(), and process().

◆ OUTPUT_TEMPLATE

#define OUTPUT_TEMPLATE   "%s.%s"

Definition at line 12 of file readpst.c.

Referenced by create_enter_dir().

◆ RFC822

#define RFC822   "message/rfc822"

Definition at line 100 of file readpst.c.

Referenced by find_rfc822_headers(), and write_normal_email().

◆ RTF_ATTACH_NAME

#define RTF_ATTACH_NAME   "rtf-body.rtf"

Definition at line 118 of file readpst.c.

Referenced by write_normal_email().

◆ RTF_ATTACH_TYPE

#define RTF_ATTACH_TYPE   "application/rtf"

Definition at line 120 of file readpst.c.

Referenced by write_normal_email().

◆ SEP_MAIL_FILE_TEMPLATE

#define SEP_MAIL_FILE_TEMPLATE   "%i%s"

Definition at line 15 of file readpst.c.

Referenced by mk_separate_dir(), and mk_separate_file().

Function Documentation

◆ acceptable_ext()

int acceptable_ext ( pst_item_attach attach)

check if the file name extension is acceptable.

If not, the attachment will be discarded

Parameters
attachpst attachment object
Returns
true if the attachment filename contains an extension that we want.

Definition at line 1035 of file readpst.c.

References acceptable_extensions, DEBUG_ENT, DEBUG_INFO, DEBUG_RET, pst_item_attach::filename1, pst_item_attach::filename2, pst_stricmp(), and pst_string::str.

Referenced by write_normal_email().

Here is the call graph for this function:

◆ check_filename()

void check_filename ( char *  fname)

◆ close_enter_dir()

◆ close_kmail_dir()

int close_kmail_dir ( )

Definition at line 795 of file readpst.c.

References DEBUG_ENT, DEBUG_RET, and DIE.

Referenced by close_enter_dir().

◆ close_recurse_dir()

int close_recurse_dir ( )

Definition at line 872 of file readpst.c.

References DEBUG_ENT, DEBUG_RET, and DIE.

Referenced by close_enter_dir().

◆ close_separate_dir()

int close_separate_dir ( )

Definition at line 941 of file readpst.c.

References DEBUG_ENT, DEBUG_RET, and DIE.

Referenced by close_enter_dir().

◆ close_separate_file()

void close_separate_file ( struct file_ll f)

Definition at line 970 of file readpst.c.

References DEBUG_ENT, DEBUG_RET, DEBUG_WARN, file_ll::name, file_ll::output, and PST_TYPE_MAX.

Referenced by process().

◆ create_enter_dir()

◆ find_html_charset()

void find_html_charset ( char *  html,
char *  charset,
size_t  charsetlen 
)

Definition at line 1416 of file readpst.c.

References DEBUG_ENT, DEBUG_HEXDUMPC, DEBUG_INFO, DEBUG_RET, and meta_charset_pattern.

Referenced by write_normal_email().

◆ find_rfc822_headers()

void find_rfc822_headers ( char **  extra_mime_headers)

Definition at line 1445 of file readpst.c.

References DEBUG_ENT, DEBUG_INFO, DEBUG_RET, header_get_field(), and RFC822.

Referenced by write_normal_email().

Here is the call graph for this function:

◆ grim_reaper() [1/2]

int grim_reaper ( )

Referenced by main(), process(), and try_fork().

◆ grim_reaper() [2/2]

int grim_reaper ( int  waitall)

Definition at line 155 of file readpst.c.

References active_children, child_processes, and DEBUG_INFO.

◆ header_end_field()

char * header_end_field ( char *  field)

Definition at line 1365 of file readpst.c.

Referenced by header_get_subfield(), and header_strip_field().

◆ header_get_field()

char * header_get_field ( char *  header,
char *  field 
)

Definition at line 1355 of file readpst.c.

References my_stristr().

Referenced by find_rfc822_headers(), header_strip_field(), and write_normal_email().

Here is the call graph for this function:

◆ header_get_subfield()

void header_get_subfield ( char *  field,
const char *  subfield,
char *  body_subfield,
size_t  size_subfield 
)

Definition at line 1324 of file readpst.c.

References DEBUG_ENT, DEBUG_INFO, DEBUG_RET, header_end_field(), and my_stristr().

Referenced by write_normal_email().

Here is the call graph for this function:

◆ header_has_field()

void header_has_field ( char *  header,
char *  field,
int *  flag 
)

Definition at line 1313 of file readpst.c.

References DEBUG_ENT, DEBUG_INFO, DEBUG_RET, and my_stristr().

Referenced by write_normal_email().

Here is the call graph for this function:

◆ header_match()

int header_match ( char *  header,
char *  field 
)

Definition at line 1273 of file readpst.c.

References DEBUG_INFO.

Referenced by valid_headers().

◆ header_strip_field()

void header_strip_field ( char *  header,
char *  field 
)

Definition at line 1375 of file readpst.c.

References header_end_field(), and header_get_field().

Referenced by write_normal_email().

Here is the call graph for this function:

◆ item_type_to_name()

char* item_type_to_name ( int32_t  item_type)

◆ main()

◆ mk_kmail_dir()

void mk_kmail_dir ( char *  fname)

Definition at line 764 of file readpst.c.

References check_filename(), D_MKDIR, DEBUG_ENT, DEBUG_RET, DIE, KMAIL_INDEX, OUTPUT_KMAIL_DIR_TEMPLATE, and pst_malloc().

Referenced by create_enter_dir().

Here is the call graph for this function:

◆ mk_recurse_dir()

void mk_recurse_dir ( char *  dir)

Definition at line 854 of file readpst.c.

References check_filename(), D_MKDIR, DEBUG_ENT, DEBUG_RET, and DIE.

Referenced by create_enter_dir().

Here is the call graph for this function:

◆ mk_separate_dir()

void mk_separate_dir ( char *  dir)

Definition at line 884 of file readpst.c.

References check_filename(), D_MKDIR, DEBUG_ENT, DEBUG_INFO, DEBUG_RET, DEBUG_WARN, DIE, overwrite, and SEP_MAIL_FILE_TEMPLATE.

Referenced by create_enter_dir().

Here is the call graph for this function:

◆ mk_separate_file()

void mk_separate_file ( struct file_ll f,
int32_t  t,
char *  extension,
int  openit 
)

Definition at line 953 of file readpst.c.

References check_filename(), DEBUG_ENT, DEBUG_INFO, DEBUG_RET, DIE, file_ll::item_count, item_type_to_name(), file_ll::name, file_ll::output, and SEP_MAIL_FILE_TEMPLATE.

Referenced by process().

Here is the call graph for this function:

◆ my_stristr()

char * my_stristr ( char *  haystack,
char *  needle 
)

Definition at line 989 of file readpst.c.

Referenced by header_get_field(), header_get_subfield(), and header_has_field().

◆ process()

◆ quote_string()

char * quote_string ( char *  inp)

Backslash-escape quotes and backslashes in the given string.

Definition at line 1158 of file readpst.c.

Referenced by write_inline_attachment().

◆ reduced_item_type()

int32_t reduced_item_type ( int32_t  item_type)

◆ removeCR()

void removeCR ( char *  c)

Definition at line 702 of file readpst.c.

References DEBUG_ENT, and DEBUG_RET.

Referenced by write_body_part(), and write_normal_email().

◆ rfc2231_string()

char* rfc2231_string ( char *  inp)

Convert inp to rfc2231 encoding of string.

Parameters
inppointer to the string of interest
Returns
pointer to converted string – caller must free

Definition at line 1187 of file readpst.c.

References pst_malloc().

Referenced by write_inline_attachment().

Here is the call graph for this function:

◆ test_base64()

int test_base64 ( char *  body,
size_t  len 
)

Definition at line 1397 of file readpst.c.

References DEBUG_ENT, DEBUG_HEXDUMPC, DEBUG_INFO, and DEBUG_RET.

Referenced by write_body_part().

◆ try_fork()

pid_t try_fork ( char *  folder)

Definition at line 203 of file readpst.c.

References active_children, child_processes, grim_reaper(), max_children, pst_reopen(), and pstfile.

Referenced by process().

Here is the call graph for this function:

◆ usage()

void usage ( void  )

Definition at line 717 of file readpst.c.

References DEBUG_ENT, DEBUG_RET, prog_name, and version().

Referenced by main().

Here is the call graph for this function:

◆ valid_headers()

int valid_headers ( char *  header)

Definition at line 1284 of file readpst.c.

References DEBUG_INFO, and header_match().

Referenced by write_normal_email().

Here is the call graph for this function:

◆ version()

void version ( void  )

Definition at line 750 of file readpst.c.

References DEBUG_ENT, DEBUG_RET, and VERSION.

Referenced by main(), and usage().

◆ write_appointment()

◆ write_body_part()

void write_body_part ( FILE *  f_output,
pst_string body,
char *  mime,
char *  charset,
char *  boundary,
pst_file pst 
)

◆ write_email_body()

void write_email_body ( FILE *  f,
char *  body 
)

Definition at line 682 of file readpst.c.

References DEBUG_ENT, DEBUG_RET, mode, MODE_SEPARATE, and pst_fwrite().

Referenced by write_body_part().

Here is the call graph for this function:

◆ write_embedded_message()

◆ write_extra_categories()

int write_extra_categories ( FILE *  f_output,
pst_item item 
)

write extra vcard or vcalendar categories from the extra keywords fields

Parameters
f_outputopen file pointer
itempst item containing the keywords
Returns
true if we write a categories line

Definition at line 2069 of file readpst.c.

References pst_item::extra_fields, pst_item_extra_field::field_name, pst_item_extra_field::next, pst_rfc2426_escape(), and pst_item_extra_field::value.

Referenced by write_appointment(), and write_vcard().

Here is the call graph for this function:

◆ write_inline_attachment()

◆ write_journal()

void write_journal ( FILE *  f_output,
pst_item item 
)

◆ write_normal_email()

void write_normal_email ( FILE *  f_output,
char  f_name[],
pst_item item,
int  mode,
int  mode_MH,
pst_file pst,
int  save_rtf,
int  embedding,
char **  extra_mime_headers 
)

Definition at line 1575 of file readpst.c.

References acceptable_ext(), pst_item::attach, pst_item_email::bcc_address, pst_item::body, C_TIME_SIZE, pst_item_email::cc_address, pst_binary::data, pst_item_attach::data, DEBUG_ENT, DEBUG_INFO, DEBUG_RET, pst_item::email, pst_item_email::encrypted_body, pst_item_email::encrypted_htmlbody, pst_item_attach::filename1, pst_item_attach::filename2, find_html_charset(), find_rfc822_headers(), pst_item::flags, pst_item_email::header, header_get_field(), header_get_subfield(), header_has_field(), header_strip_field(), pst_item_email::htmlbody, pst_item_attach::i_id, pst_string::is_utf8, pst_item_email::messageid, pst_item_attach::method, pst_item_attach::mimetype, mode, mode_MH, MODE_SEPARATE, pst_item_attach::next, pst_item_email::outlook_sender_name, PST_ATTACH_EMBEDDED, pst_convert_utf8(), pst_convert_utf8_null(), pst_default_charset(), pst_fileTimeToUnixTime(), PST_FLAG_READ, pst_lzfu_decompress(), pst_malloc(), pst_rfc2047(), PST_TYPE_REPORT, PST_TYPE_SCHEDULE, removeCR(), pst_item_email::report_text, RFC822, RTF_ATTACH_NAME, RTF_ATTACH_TYPE, pst_item_email::rtf_compressed, pst_item_email::sender_address, pst_item_email::sent_date, pst_item_email::sentto_address, pst_binary::size, pst_string::str, pst_item::subject, pst_item::type, valid_headers(), write_body_part(), write_embedded_message(), write_inline_attachment(), write_schedule_part(), and write_separate_attachment().

Referenced by process(), and write_embedded_message().

Here is the call graph for this function:

◆ write_schedule_part()

void write_schedule_part ( FILE *  f_output,
pst_item item,
const char *  sender,
const char *  boundary 
)

Definition at line 1552 of file readpst.c.

References pst_item::appointment, and write_schedule_part_data().

Referenced by write_normal_email().

Here is the call graph for this function:

◆ write_schedule_part_data()

void write_schedule_part_data ( FILE *  f_output,
pst_item item,
const char *  sender,
const char *  method 
)

Definition at line 1533 of file readpst.c.

References pst_item::email, pst_item_email::outlook_sender_name, pst_string::str, VERSION, and write_appointment().

Referenced by process(), and write_schedule_part().

Here is the call graph for this function:

◆ write_separate_attachment()

void write_separate_attachment ( char  f_name[],
pst_item_attach attach,
int  attach_num,
pst_file pst 
)

◆ write_vcard()

void write_vcard ( FILE *  f_output,
pst_item item,
pst_item_contact contact,
char  comment[] 
)

Definition at line 1904 of file readpst.c.

References pst_item_contact::address1, pst_item_contact::address2, pst_item_contact::address3, pst_item_contact::assistant_name, pst_item_contact::assistant_phone, pst_item_contact::birthday, pst_item::body, pst_item_contact::business_address, pst_item_contact::business_city, pst_item_contact::business_country, pst_item_contact::business_fax, pst_item_contact::business_phone, pst_item_contact::business_phone2, pst_item_contact::business_po_box, pst_item_contact::business_postal_code, pst_item_contact::business_state, pst_item_contact::business_street, pst_item_contact::car_phone, pst_item_contact::company_name, DEBUG_ENT, DEBUG_RET, pst_item_contact::display_name_prefix, pst_item_contact::first_name, pst_item_contact::fullname, pst_item_contact::home_address, pst_item_contact::home_city, pst_item_contact::home_country, pst_item_contact::home_fax, pst_item_contact::home_phone, pst_item_contact::home_phone2, pst_item_contact::home_po_box, pst_item_contact::home_postal_code, pst_item_contact::home_state, pst_item_contact::home_street, pst_item_contact::isdn_phone, pst_item_contact::job_title, pst_item_contact::middle_name, pst_item_contact::mobile_phone, pst_item_contact::nickname, pst_item_contact::other_address, pst_item_contact::other_city, pst_item_contact::other_country, pst_item_contact::other_phone, pst_item_contact::other_po_box, pst_item_contact::other_postal_code, pst_item_contact::other_state, pst_item_contact::other_street, pst_item_contact::pager_phone, pst_item_contact::primary_fax, pst_item_contact::primary_phone, pst_item_contact::profession, pst_convert_utf8_null(), pst_rfc2425_datetime_format(), pst_rfc2426_escape(), pst_item_contact::radio_phone, pst_string::str, pst_item_contact::suffix, pst_item_contact::surname, pst_item_contact::telex, and write_extra_categories().

Referenced by process().

Here is the call graph for this function:

Variable Documentation

◆ acceptable_extensions

char* acceptable_extensions = NULL

Definition at line 140 of file readpst.c.

Referenced by acceptable_ext(), and main().

◆ active_children

int active_children

Definition at line 145 of file readpst.c.

Referenced by grim_reaper(), main(), and try_fork().

◆ child_processes

pid_t* child_processes

Definition at line 146 of file readpst.c.

Referenced by grim_reaper(), main(), and try_fork().

◆ contact_mode

int contact_mode = 0

Definition at line 129 of file readpst.c.

Referenced by main(), and process().

◆ contact_mode_specified

int contact_mode_specified = 0

Definition at line 132 of file readpst.c.

Referenced by main().

◆ default_charset

char* default_charset = NULL

Definition at line 139 of file readpst.c.

Referenced by main().

◆ deleted_mode

int deleted_mode = 0

Definition at line 130 of file readpst.c.

Referenced by main(), and process().

◆ file_name_len

int file_name_len = 10

Definition at line 136 of file readpst.c.

Referenced by create_enter_dir(), and main().

◆ max_child_specified

int max_child_specified = 0

Definition at line 144 of file readpst.c.

Referenced by main().

◆ max_children

int max_children = 0

Definition at line 143 of file readpst.c.

Referenced by main(), and try_fork().

◆ meta_charset_pattern

regex_t meta_charset_pattern

Definition at line 138 of file readpst.c.

Referenced by find_html_charset(), and main().

◆ mode

int mode = 0

◆ mode_EX

int mode_EX = 0

Definition at line 125 of file readpst.c.

Referenced by main(), and process().

◆ mode_MH

int mode_MH = 0

Definition at line 124 of file readpst.c.

Referenced by main(), process(), and write_normal_email().

◆ mode_MSG

int mode_MSG = 0

Definition at line 126 of file readpst.c.

Referenced by main(), and process().

◆ mode_thunder

int mode_thunder = 0

Definition at line 127 of file readpst.c.

Referenced by close_enter_dir(), create_enter_dir(), and main().

◆ number_processors

int number_processors = 1

Definition at line 142 of file readpst.c.

Referenced by main().

◆ output_dir

char* output_dir = "."

Definition at line 72 of file readpst.c.

Referenced by main().

◆ output_mode

int output_mode = 0

Definition at line 128 of file readpst.c.

Referenced by close_enter_dir(), main(), and process().

◆ output_type_mode

int output_type_mode = 0xff

Definition at line 131 of file readpst.c.

Referenced by main(), and process().

◆ overwrite

int overwrite = 0

Definition at line 133 of file readpst.c.

Referenced by create_enter_dir(), main(), and mk_separate_dir().

◆ prefer_utf8

int prefer_utf8 = 0

Definition at line 134 of file readpst.c.

Referenced by main(), and write_body_part().

◆ prog_name

const char* prog_name

Definition at line 71 of file readpst.c.

Referenced by main(), and usage().

◆ pstfile

pst_file pstfile

Definition at line 137 of file readpst.c.

Referenced by main(), process(), and try_fork().

◆ save_rtf_body

int save_rtf_body = 1

Definition at line 135 of file readpst.c.

Referenced by main(), and process().