2007-10-13 [colin] 3.0.2cvs69

* src/common/utils.c
	* src/common/utils.h
		Remove dead code, unused for ages
This commit is contained in:
Colin Leroy 2007-10-13 08:46:41 +00:00
parent 6b2a9a4628
commit 33c0c59336
5 changed files with 55 additions and 427 deletions

View file

@ -1,3 +1,9 @@
2007-10-13 [colin] 3.0.2cvs69
* src/common/utils.c
* src/common/utils.h
Remove dead code, unused for ages
2007-10-13 [colin] 3.0.2cvs68
* src/main.c

View file

@ -2981,3 +2981,4 @@
( cvs diff -u -r 1.115.2.170 -r 1.115.2.171 src/main.c; cvs diff -u -r 1.7.2.12 -r 1.7.2.13 src/main.h; cvs diff -u -r 1.5.2.67 -r 1.5.2.68 src/gtk/gtkutils.c; cvs diff -u -r 1.4.2.36 -r 1.4.2.37 src/gtk/gtkutils.h; ) > 3.0.2cvs66.patchset
( cvs diff -u -r 1.5.2.24 -r 1.5.2.25 src/gtk/menu.c; ) > 3.0.2cvs67.patchset
( cvs diff -u -r 1.115.2.171 -r 1.115.2.172 src/main.c; cvs diff -u -r 1.7.2.13 -r 1.7.2.14 src/main.h; ) > 3.0.2cvs68.patchset
( cvs diff -u -r 1.36.2.119 -r 1.36.2.120 src/common/utils.c; cvs diff -u -r 1.20.2.53 -r 1.20.2.54 src/common/utils.h; ) > 3.0.2cvs69.patchset

View file

@ -11,7 +11,7 @@ MINOR_VERSION=0
MICRO_VERSION=2
INTERFACE_AGE=0
BINARY_AGE=0
EXTRA_VERSION=68
EXTRA_VERSION=69
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=

View file

@ -231,24 +231,6 @@ void slist_free_strings(GSList *list)
}
}
GSList *slist_concat_unique (GSList *first, GSList *second)
{
GSList *tmp, *ret;
if (first == NULL) {
if (second == NULL)
return NULL;
else
return second;
} else if (second == NULL)
return first;
ret = first;
for (tmp = second; tmp != NULL; tmp = g_slist_next(tmp)) {
if (g_slist_find(ret, tmp->data) == NULL)
ret = g_slist_prepend(ret, tmp->data);
}
return ret;
}
static void hash_free_strings_func(gpointer key, gpointer value, gpointer data)
{
g_free(key);
@ -259,17 +241,6 @@ void hash_free_strings(GHashTable *table)
g_hash_table_foreach(table, hash_free_strings_func, NULL);
}
static void hash_free_value_mem_func(gpointer key, gpointer value,
gpointer data)
{
g_free(value);
}
void hash_free_value_mem(GHashTable *table)
{
g_hash_table_foreach(table, hash_free_value_mem_func, NULL);
}
gint str_case_equal(gconstpointer v, gconstpointer v2)
{
return g_ascii_strcasecmp((const gchar *)v, (const gchar *)v2) == 0;
@ -312,16 +283,6 @@ gboolean str_case_find(const gchar *haystack, const gchar *needle)
return strcasestr(haystack, needle) != NULL ? TRUE : FALSE;
}
gboolean str_find_equal(const gchar *haystack, const gchar *needle)
{
return strcmp(haystack, needle) == 0;
}
gboolean str_case_find_equal(const gchar *haystack, const gchar *needle)
{
return g_ascii_strcasecmp(haystack, needle) == 0;
}
gint to_number(const gchar *nstr)
{
register const gchar *p;
@ -612,6 +573,30 @@ gint get_next_word_len(const gchar *s)
return len;
}
static void trim_subject_for_compare(gchar *str)
{
gchar *srcp;
eliminate_parenthesis(str, '[', ']');
eliminate_parenthesis(str, '(', ')');
g_strstrip(str);
srcp = str + subject_get_prefix_length(str);
if (srcp != str)
memmove(str, srcp, strlen(srcp) + 1);
}
static void trim_subject_for_sort(gchar *str)
{
gchar *srcp;
g_strstrip(str);
srcp = str + subject_get_prefix_length(str);
if (srcp != str)
memmove(str, srcp, strlen(srcp) + 1);
}
/* compare subjects */
gint subject_compare(const gchar *s1, const gchar *s2)
{
@ -646,30 +631,6 @@ gint subject_compare_for_sort(const gchar *s1, const gchar *s2)
return g_utf8_collate(str1, str2);
}
void trim_subject_for_compare(gchar *str)
{
gchar *srcp;
eliminate_parenthesis(str, '[', ']');
eliminate_parenthesis(str, '(', ')');
g_strstrip(str);
srcp = str + subject_get_prefix_length(str);
if (srcp != str)
memmove(str, srcp, strlen(srcp) + 1);
}
void trim_subject_for_sort(gchar *str)
{
gchar *srcp;
g_strstrip(str);
srcp = str + subject_get_prefix_length(str);
if (srcp != str)
memmove(str, srcp, strlen(srcp) + 1);
}
void trim_subject(gchar *str)
{
register gchar *srcp;
@ -861,23 +822,6 @@ gchar *strchr_with_skip_quote(const gchar *str, gint quote_chr, gint c)
return NULL;
}
gchar *strrchr_with_skip_quote(const gchar *str, gint quote_chr, gint c)
{
gboolean in_quote = FALSE;
const gchar *p;
p = str + strlen(str) - 1;
while (p >= str) {
if (*p == c && !in_quote)
return (gchar *)p;
if (*p == quote_chr)
in_quote ^= TRUE;
p--;
}
return NULL;
}
void extract_address(gchar *str)
{
eliminate_address_comment(str);
@ -1093,7 +1037,7 @@ void subst_char(gchar *str, gchar orig, gchar subst)
}
}
void subst_chars(gchar *str, gchar *orig, gchar subst)
static void subst_chars(gchar *str, gchar *orig, gchar subst)
{
register gchar *p = str;
@ -1123,19 +1067,6 @@ void subst_for_shellsafe_filename(gchar *str)
subst_chars(str, " \"'|&;()<>'!{}[]",'_');
}
gboolean is_header_line(const gchar *str)
{
if (str[0] == ':') return FALSE;
while (*str != '\0' && *str != ' ') {
if (*str == ':')
return TRUE;
str++;
}
return FALSE;
}
gboolean is_ascii_str(const gchar *str)
{
const guchar *p = (const guchar *)str;
@ -1151,6 +1082,24 @@ gboolean is_ascii_str(const gchar *str)
return TRUE;
}
static const gchar * line_has_quote_char_last(const gchar * str, const gchar *quote_chars)
{
gchar * position = NULL;
gchar * tmp_pos = NULL;
int i;
if (quote_chars == NULL)
return FALSE;
for (i = 0; i < strlen(quote_chars); i++) {
tmp_pos = strrchr (str, quote_chars[i]);
if(position == NULL
|| (tmp_pos != NULL && position <= tmp_pos) )
position = tmp_pos;
}
return position;
}
gint get_quote_level(const gchar *str, const gchar *quote_chars)
{
const gchar *first_pos;
@ -1240,25 +1189,7 @@ const gchar * line_has_quote_char(const gchar * str, const gchar *quote_chars)
return position;
}
const gchar * line_has_quote_char_last(const gchar * str, const gchar *quote_chars)
{
gchar * position = NULL;
gchar * tmp_pos = NULL;
int i;
if (quote_chars == NULL)
return FALSE;
for (i = 0; i < strlen(quote_chars); i++) {
tmp_pos = strrchr (str, quote_chars[i]);
if(position == NULL
|| (tmp_pos != NULL && position <= tmp_pos) )
position = tmp_pos;
}
return position;
}
gchar *strstr_with_skip_quote(const gchar *haystack, const gchar *needle)
static gchar *strstr_with_skip_quote(const gchar *haystack, const gchar *needle)
{
register guint haystack_len, needle_len;
gboolean in_squote = FALSE, in_dquote = FALSE;
@ -1295,7 +1226,7 @@ gchar *strstr_with_skip_quote(const gchar *haystack, const gchar *needle)
return NULL;
}
gchar *strchr_parenthesis_close(const gchar *str, gchar op, gchar cl)
static gchar *strchr_parenthesis_close(const gchar *str, gchar op, gchar cl)
{
const gchar *p;
gchar quote_chr = '"';
@ -1325,64 +1256,6 @@ gchar *strchr_parenthesis_close(const gchar *str, gchar op, gchar cl)
return NULL;
}
gchar **strsplit_parenthesis(const gchar *str, gchar op, gchar cl,
gint max_tokens)
{
GSList *string_list = NULL, *slist;
gchar **str_array;
const gchar *s_op, *s_cl;
guint i, n = 1;
g_return_val_if_fail(str != NULL, NULL);
if (max_tokens < 1)
max_tokens = G_MAXINT;
s_op = strchr_with_skip_quote(str, '"', op);
if (!s_op) return NULL;
str = s_op;
s_cl = strchr_parenthesis_close(str, op, cl);
if (s_cl) {
do {
guint len;
gchar *new_string;
str++;
len = s_cl - str;
new_string = g_new(gchar, len + 1);
strncpy(new_string, str, len);
new_string[len] = 0;
string_list = g_slist_prepend(string_list, new_string);
n++;
str = s_cl + 1;
while (*str && g_ascii_isspace(*str)) str++;
if (*str != op) {
string_list = g_slist_prepend(string_list,
g_strdup(""));
n++;
s_op = strchr_with_skip_quote(str, '"', op);
if (!--max_tokens || !s_op) break;
str = s_op;
} else
s_op = str;
s_cl = strchr_parenthesis_close(str, op, cl);
} while (--max_tokens && s_cl);
}
str_array = g_new(gchar*, n);
i = n - 1;
str_array[i--] = NULL;
for (slist = string_list; slist; slist = slist->next)
str_array[i--] = slist->data;
g_slist_free(string_list);
return str_array;
}
gchar **strsplit_with_quote(const gchar *str, const gchar *delim,
gint max_tokens)
{
@ -2031,41 +1904,6 @@ const gchar *get_imap_cache_dir(void)
return imap_cache_dir;
}
const gchar *get_mbox_cache_dir(void)
{
static gchar *mbox_cache_dir = NULL;
#ifdef MAEMO
const gchar *data_root = prefs_common_get_data_root();
if (strcmp2(data_root, last_data_root)) {
g_free(mbox_cache_dir);
mbox_cache_dir = NULL;
}
#endif
if (!mbox_cache_dir)
#ifndef MAEMO
mbox_cache_dir = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S,
MBOX_CACHE_DIR, NULL);
#else
{
if (data_root) {
mbox_cache_dir = g_strconcat(data_root, G_DIR_SEPARATOR_S,
"Claws", G_DIR_SEPARATOR_S,
g_get_user_name(), G_DIR_SEPARATOR_S,
MBOX_CACHE_DIR, NULL);
g_free(last_data_root);
last_data_root = g_strdup(last_data_root);
} else {
mbox_cache_dir = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S,
MBOX_CACHE_DIR, NULL);
g_free(last_data_root);
last_data_root = NULL;
}
}
#endif
return mbox_cache_dir;
}
const gchar *get_mime_tmp_dir(void)
{
static gchar *mime_tmp_dir = NULL;
@ -2088,17 +1926,6 @@ const gchar *get_template_dir(void)
return template_dir;
}
const gchar *get_header_cache_dir(void)
{
static gchar *header_dir = NULL;
if (!header_dir)
header_dir = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S,
HEADER_CACHE_DIR, NULL);
return header_dir;
}
/* Return the default directory for Plugins. */
const gchar *get_plugin_dir(void)
{
@ -2226,33 +2053,6 @@ off_t get_file_size_as_crlf(const gchar *file)
return size;
}
off_t get_left_file_size(FILE *fp)
{
glong pos;
glong end;
off_t size;
if ((pos = ftell(fp)) < 0) {
perror("ftell");
return -1;
}
if (fseek(fp, 0L, SEEK_END) < 0) {
perror("fseek");
return -1;
}
if ((end = ftell(fp)) < 0) {
perror("fseek");
return -1;
}
size = end - pos;
if (fseek(fp, pos, SEEK_SET) < 0) {
perror("fseek");
return -1;
}
return size;
}
gboolean file_exist(const gchar *file, gboolean allow_fifo)
{
struct stat s;
@ -2517,62 +2317,6 @@ gint remove_all_numbered_files(const gchar *dir)
return remove_numbered_files(dir, 0, UINT_MAX);
}
gint remove_expired_files(const gchar *dir, guint hours)
{
GDir *dp;
const gchar *dir_name;
struct stat s;
gchar *prev_dir;
gint file_no;
time_t mtime, now, expire_time;
prev_dir = g_get_current_dir();
if (g_chdir(dir) < 0) {
FILE_OP_ERROR(dir, "chdir");
g_free(prev_dir);
return -1;
}
if ((dp = g_dir_open(".", 0, NULL)) == NULL) {
g_warning("failed to open directory: %s\n", dir);
g_free(prev_dir);
return -1;
}
now = time(NULL);
expire_time = hours * 60 * 60;
while ((dir_name = g_dir_read_name(dp)) != NULL) {
file_no = to_number(dir_name);
if (file_no > 0) {
if (g_stat(dir_name, &s) < 0) {
FILE_OP_ERROR(dir_name, "stat");
continue;
}
if (S_ISDIR(s.st_mode))
continue;
mtime = MAX(s.st_mtime, s.st_atime);
if (now - mtime > expire_time) {
if (g_unlink(dir_name) < 0)
FILE_OP_ERROR(dir_name, "unlink");
}
}
}
g_dir_close(dp);
if (g_chdir(prev_dir) < 0) {
FILE_OP_ERROR(prev_dir, "chdir");
g_free(prev_dir);
return -1;
}
g_free(prev_dir);
return 0;
}
gint remove_dir_recursive(const gchar *dir)
{
struct stat s;
@ -3032,79 +2776,6 @@ gint canonicalize_file_replace(const gchar *file)
return 0;
}
gint uncanonicalize_file(const gchar *src, const gchar *dest)
{
FILE *src_fp, *dest_fp;
gchar buf[BUFFSIZE];
gboolean err = FALSE;
if ((src_fp = g_fopen(src, "rb")) == NULL) {
FILE_OP_ERROR(src, "fopen");
return -1;
}
if ((dest_fp = g_fopen(dest, "wb")) == NULL) {
FILE_OP_ERROR(dest, "fopen");
fclose(src_fp);
return -1;
}
if (change_file_mode_rw(dest_fp, dest) < 0) {
FILE_OP_ERROR(dest, "chmod");
g_warning("can't change file mode\n");
}
while (fgets(buf, sizeof(buf), src_fp) != NULL) {
strcrchomp(buf);
if (fputs(buf, dest_fp) == EOF) {
g_warning("writing to %s failed.\n", dest);
fclose(dest_fp);
fclose(src_fp);
g_unlink(dest);
return -1;
}
}
if (ferror(src_fp)) {
FILE_OP_ERROR(src, "fgets");
err = TRUE;
}
fclose(src_fp);
if (fclose(dest_fp) == EOF) {
FILE_OP_ERROR(dest, "fclose");
err = TRUE;
}
if (err) {
g_unlink(dest);
return -1;
}
return 0;
}
gint uncanonicalize_file_replace(const gchar *file)
{
gchar *tmp_file;
tmp_file = get_tmp_file();
if (uncanonicalize_file(file, tmp_file) < 0) {
g_free(tmp_file);
return -1;
}
if (move_file(tmp_file, file, TRUE) < 0) {
g_warning("can't replace %s .\n", file);
g_unlink(tmp_file);
g_free(tmp_file);
return -1;
}
g_free(tmp_file);
return 0;
}
gchar *normalize_newlines(const gchar *str)
{
const gchar *p = str;
@ -3753,13 +3424,6 @@ void get_rfc822_date(gchar *buf, gint len)
day, dd, mon, yyyy, hh, mm, ss, tzoffset(&t));
}
/* just a wrapper to suppress the warning of gcc about %c */
size_t my_strftime(gchar *s, size_t max, const gchar *format,
const struct tm *tm)
{
return strftime(s, max, format, tm);
}
void debug_set_mode(gboolean mode)
{
debug_mode = mode;
@ -3894,7 +3558,7 @@ int subject_get_prefix_length(const gchar *subject)
return 0;
}
guint g_stricase_hash(gconstpointer gptr)
static guint g_stricase_hash(gconstpointer gptr)
{
guint hash_result = 0;
const char *str;
@ -3906,7 +3570,7 @@ guint g_stricase_hash(gconstpointer gptr)
return hash_result;
}
gint g_stricase_equal(gconstpointer gptr1, gconstpointer gptr2)
static gint g_stricase_equal(gconstpointer gptr1, gconstpointer gptr2)
{
const char *str1 = gptr1;
const char *str2 = gptr2;

View file

@ -224,7 +224,6 @@ void list_free_strings (GList *list);
void slist_free_strings (GSList *list);
void hash_free_strings (GHashTable *table);
void hash_free_value_mem (GHashTable *table);
gint str_case_equal (gconstpointer v,
gconstpointer v2);
@ -239,11 +238,6 @@ gboolean str_find (const gchar *haystack,
const gchar *needle);
gboolean str_case_find (const gchar *haystack,
const gchar *needle);
gboolean str_find_equal (const gchar *haystack,
const gchar *needle);
gboolean str_case_find_equal (const gchar *haystack,
const gchar *needle);
/* number-string conversion */
gint to_number (const gchar *nstr);
gchar *itos_buf (gchar *nstr,
@ -281,8 +275,6 @@ 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,
@ -297,14 +289,9 @@ void eliminate_address_comment (gchar *str);
gchar *strchr_with_skip_quote (const gchar *str,
gint quote_chr,
gint c);
gchar *strrchr_with_skip_quote (const gchar *str,
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,
@ -325,12 +312,8 @@ void unfold_line (gchar *str);
void subst_char (gchar *str,
gchar orig,
gchar subst);
void subst_chars (gchar *str,
gchar *orig,
gchar subst);
void subst_for_filename (gchar *str);
void subst_for_shellsafe_filename (gchar *str);
gboolean is_header_line (const gchar *str);
gboolean is_ascii_str (const gchar *str);
gint get_quote_level (const gchar *str,
const gchar *quote_chars);
@ -338,16 +321,6 @@ gint check_line_length (const gchar *str,
gint max_chars,
gint *line);
gchar *strstr_with_skip_quote (const gchar *haystack,
const gchar *needle);
gchar *strchr_parenthesis_close (const gchar *str,
gchar op,
gchar cl);
gchar **strsplit_parenthesis (const gchar *str,
gchar op,
gchar cl,
gint max_tokens);
gchar **strsplit_with_quote (const gchar *str,
const gchar *delim,
gint max_tokens);
@ -382,10 +355,8 @@ gboolean rc_dir_is_alt (void);
const gchar *get_mail_base_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_plugin_dir (void);
const gchar *get_tmp_dir (void);
const gchar *get_locale_dir (void);
@ -395,7 +366,6 @@ const gchar *get_domain_name (void);
/* file / directory handling */
off_t get_file_size (const gchar *file);
off_t get_file_size_as_crlf (const gchar *file);
off_t get_left_file_size (FILE *fp);
time_t get_file_mtime (const gchar *file);
@ -419,8 +389,6 @@ gint remove_numbered_files (const gchar *dir,
gint remove_numbered_files_not_in_list(const gchar *dir,
GSList *numberlist);
gint remove_all_numbered_files (const gchar *dir);
gint remove_expired_files (const gchar *dir,
guint hours);
gint remove_dir_recursive (const gchar *dir);
gint append_file (const gchar *src,
const gchar *dest,
@ -448,9 +416,6 @@ 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);
@ -486,10 +451,6 @@ gchar *tzoffset (time_t *now);
void get_rfc822_date (gchar *buf,
gint len);
size_t my_strftime (gchar *s,
size_t max,
const gchar *format,
const struct tm *tm);
size_t fast_strftime (gchar *buf,
gint buflen,
const gchar *format,
@ -509,11 +470,7 @@ gint subject_get_prefix_length (const gchar *subject);
/* quoting recognition */
const gchar * line_has_quote_char (const gchar *str,
const gchar *quote_chars);
const gchar * line_has_quote_char_last (const gchar *str,
const gchar *quote_chars);
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 (gchar *buf, gint len);