/* debug functions */
void debug_set_mode (gboolean mode);
-gboolean debug_get_mode ();
+gboolean debug_get_mode (void);
#define debug_print \
debug_print_real(__FILE__ ":%d:", __LINE__), \
debug_print_real
void hash_free_strings (GHashTable *table);
void hash_free_value_mem (GHashTable *table);
+gint str_case_equal (gconstpointer v,
+ gconstpointer v2);
+guint str_case_hash (gconstpointer key);
+
void ptr_array_free_strings (GPtrArray *array);
/* number-string conversion */
size_t n);
wchar_t *wcscasestr (const wchar_t *haystack,
const wchar_t *needle);
+gint get_mbs_len (const gchar *s);
gboolean is_next_nonascii (const guchar *s);
gint get_next_word_len (const gchar *s);
gchar op,
gchar cl);
-void extract_one_parenthesis_with_skip_quote (gchar *str,
- gchar quote_chr,
- gchar op,
- gchar cl);
void extract_parenthesis_with_skip_quote (gchar *str,
gchar quote_chr,
gchar op,
gint quote_chr,
gint c);
void extract_address (gchar *str);
+void extract_list_id_str (gchar *str);
GSList *slist_concat_unique (GSList *first,
GSList *second);
gchar **body);
/* return static strings */
-gchar *get_home_dir (void);
-gchar *get_rc_dir (void);
-gchar *get_news_cache_dir (void);
-gchar *get_imap_cache_dir (void);
-gchar *get_mbox_cache_dir (void);
-gchar *get_mime_tmp_dir (void);
-gchar *get_template_dir (void);
-gchar *get_header_cache_dir (void);
-gchar *get_tmp_dir (void);
-gchar *get_tmp_file (void);
-gchar *get_domain_name (void);
+const gchar *get_home_dir (void);
+const gchar *get_rc_dir (void);
+const gchar *get_news_cache_dir (void);
+const gchar *get_imap_cache_dir (void);
+const gchar *get_mbox_cache_dir (void);
+const gchar *get_mime_tmp_dir (void);
+const gchar *get_template_dir (void);
+const gchar *get_header_cache_dir (void);
+const gchar *get_tmp_dir (void);
+gchar *get_tmp_file (void);
+const gchar *get_domain_name (void);
/* file / directory handling */
off_t get_file_size (const gchar *file);
const gchar *dest);
gint uncanonicalize_file_replace(const gchar *file);
+gchar *normalize_newlines (const gchar *str);
+
+gchar *get_outgoing_rfc2822_str (FILE *fp);
+
gint change_file_mode_rw (FILE *fp,
const gchar *file);
FILE *my_tmpfile (void);
gint str_write_to_file (const gchar *str,
const gchar *file);
gchar *file_read_to_str (const gchar *file);
+gchar *file_read_stream_to_str (FILE *fp);
/* process execution */
gint execute_async (gchar *const argv[]);
gint execute_sync (gchar *const argv[]);
gint execute_command_line (const gchar *cmdline,
gboolean async);
+gchar *get_command_output (const gchar *cmdline);
/* open URI with external browser */
gint open_uri(const gchar *uri, const gchar *cmdline);
void subject_table_insert(GHashTable *subject_table, gchar * subject,
void * data);
void subject_table_remove(GHashTable *subject_table, gchar * subject);
-gboolean subject_is_reply(const gchar *subject);
+gint subject_get_prefix_length (const gchar *subject);
/* quoting recognition */
const gchar * line_has_quote_char (const gchar *str,
guint g_stricase_hash (gconstpointer gptr);
gint g_stricase_equal (gconstpointer gptr1, gconstpointer gptr2);
+gint g_int_compare (gconstpointer a, gconstpointer b);
+
+gchar *generate_msgid (const gchar *address, gchar *buf, gint len);
+gchar *generate_mime_boundary (void);
#endif /* __UTILS_H__ */