/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2002 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2003 Hiroyuki Yamamoto
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
/* 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);
/* functions for string parsing */
gint subject_compare (const gchar *s1,
const gchar *s2);
+gint subject_compare_for_sort (const gchar *s1,
+ const gchar *s2);
+void trim_subject_for_compare (gchar *str);
+void trim_subject_for_sort (gchar *str);
void trim_subject (gchar *str);
void eliminate_parenthesis (gchar *str,
gchar op,
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);
GSList *address_list_append (GSList *addr_list,
const gchar *str);
+GSList *address_list_append_with_comments(GSList *addr_list,
+ const gchar *str);
GSList *references_list_append (GSList *msgid_list,
const gchar *str);
GSList *newsgroup_list_append (GSList *group_list,
off_t offset,
size_t length,
const gchar *dest);
+
+gchar *canonicalize_str (const gchar *str);
gint canonicalize_file (const gchar *src,
const gchar *dest);
gint canonicalize_file_replace (const gchar *file);
+gint uncanonicalize_file (const gchar *src,
+ 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 (const gchar *prefix);
#endif /* __UTILS_H__ */