37 int mr_exactly_one_bit_set (
int v);
40 char* safe_strdup (
const char*);
41 char* strdup_keep_null (
const char*);
42 int atoi_null_is_0 (
const char*);
43 void mr_ltrim (
char*);
44 void mr_rtrim (
char*);
46 char* mr_strlower (
const char*);
47 void mr_strlower_in_place (
char*);
48 int mr_str_replace (
char** haystack,
const char* needle,
const char* replacement);
49 int mr_str_contains (
const char* haystack,
const char* needle);
50 char* mr_null_terminate (
const char*,
int bytes);
51 char* mr_mprintf (
const char* format, ...);
52 void mr_remove_cr_chars (
char*);
53 void mr_replace_bad_utf8_chars (
char*);
54 void mr_truncate_n_unwrap_str (
char*,
int approx_characters,
int do_unwrap);
55 carray* mr_split_into_lines (
const char* buf_terminated);
56 void mr_free_splitted_lines (carray* lines);
57 char* mr_insert_breaks (
const char*,
int break_every,
const char* break_chars);
58 char* mr_arr_to_string (
const uint32_t*,
int cnt);
59 char* mr_decode_header_string (
const char*);
60 char* mr_encode_header_string (
const char*);
61 char* imap_modified_utf7_to_utf8 (
const char *mbox,
int change_spaces);
62 char* imap_utf8_to_modified_utf7 (
const char *src,
int change_spaces);
63 char* mr_url_encode (
const char*);
64 char* encode_base64 (
const char * in,
int len);
67 typedef struct mrstrbuilder_t
74 void mrstrbuilder_init (mrstrbuilder_t* ths);
75 char* mrstrbuilder_cat (mrstrbuilder_t* ths,
const char* text);
76 void mrstrbuilder_empty(mrstrbuilder_t* ths);
80 void clist_free_content (
const clist*);
81 int clist_search_string_nocase (
const clist*,
const char* str);
84 #define MR_INVALID_TIMESTAMP (-1) 85 time_t mr_timestamp_from_date (
struct mailimf_date_time * date_time);
86 char* mr_timestamp_to_str (time_t);
87 struct mailimap_date_time* mr_timestamp_to_mailimap_date_time (time_t);
88 long mr_gm2local_offset (
void);
91 time_t mr_smeared_time__ (
void);
92 time_t mr_create_smeared_timestamp__ (
void);
93 time_t mr_create_smeared_timestamps__(
int count);
96 #define MR_VALID_ID_LEN 11 97 char* mr_create_id (
void);
98 char* mr_create_dummy_references_mid (
void);
99 char* mr_create_incoming_rfc724_mid (time_t message_timestamp, uint32_t contact_id_from,
mrarray_t* contact_ids_to);
100 char* mr_create_outgoing_rfc724_mid (
const char* grpid,
const char* addr);
101 char* mr_extract_grpid_from_rfc724_mid (
const char* rfc724_mid);
102 char* mr_extract_grpid_from_rfc724_mid_list(
const clist* rfc724_mid_list);
106 int mr_file_exist (
const char* pathNfilename);
107 uint64_t mr_get_filebytes (
const char* pathNfilename);
108 char* mr_get_filename (
const char* pathNfilename);
109 int mr_delete_file (
const char* pathNFilename,
mrmailbox_t* log);
110 int mr_copy_file (
const char* src_pathNFilename,
const char* dest_pathNFilename,
mrmailbox_t* log);
111 int mr_create_folder (
const char* pathNfilename,
mrmailbox_t* log);
112 int mr_write_file (
const char* pathNfilename,
const void* buf,
size_t buf_bytes,
mrmailbox_t* log);
113 int mr_read_file (
const char* pathNfilename,
void** buf,
size_t* buf_bytes,
mrmailbox_t* log);
114 char* mr_get_filesuffix_lc (
const char* pathNfilename);
115 void mr_split_filename (
const char* pathNfilename,
char** ret_basename,
char** ret_all_suffixes_incl_dot);
116 int mr_get_filemeta (
const void* buf,
size_t buf_bytes, uint32_t* ret_width, uint32_t *ret_height);
117 char* mr_get_fine_pathNfilename (
const char* folder,
const char* desired_name);
121 #define MR_QUOTEHELPER(name) #name 122 #define MR_STRINGIFY(macro) MR_QUOTEHELPER(macro) 123 #define MR_MIN(X, Y) (((X) < (Y))? (X) : (Y)) 124 #define MR_MAX(X, Y) (((X) > (Y))? (X) : (Y)) An object containing a simple array.
An object representing a single mailbox.