--- libbalsa/mailbox_mh.c.orig Wed May 16 13:49:05 2007
+++ libbalsa/mailbox_mh.c Thu May 31 01:09:09 2007
@@ -27,6 +27,8 @@
/* to compile this on BSD/Darwin */
#undef _POSIX_SOURCE
+#include <sys/types.h>
+#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
@@ -45,7 +47,7 @@
struct message_info {
LibBalsaMailboxLocalMessageInfo local_info;
LibBalsaMessageFlag orig_flags; /* Has only real flags */
- gint fileno;
+ gint mi_fileno;
};
#define REAL_FLAGS(flags) (flags & LIBBALSA_MESSAGE_FLAGS_REAL)
@@ -260,7 +262,7 @@ libbalsa_mailbox_mh_load_config(LibBalsa
#define MH_BASENAME(msg_info) \
g_strdup_printf((msg_info->orig_flags & LIBBALSA_MESSAGE_FLAG_DELETED) ? \
- ",%d" : "%d", msg_info->fileno)
+ ",%d" : "%d", msg_info->mi_fileno)
static GMimeStream *
libbalsa_mailbox_mh_get_message_stream(LibBalsaMailbox * mailbox,
@@ -335,7 +337,7 @@ static gint
lbm_mh_compare_fileno(const struct message_info ** a,
const struct message_info ** b)
{
- return (*a)->fileno - (*b)->fileno;
+ return (*a)->mi_fileno - (*b)->mi_fileno;
}
static void
@@ -352,7 +354,7 @@ lbm_mh_parse_mailbox(LibBalsaMailboxMh *
while ((filename = g_dir_read_name(dir)) != NULL) {
LibBalsaMessageFlag delete_flag = 0;
- guint fileno;
+ guint mh_fileno;
if (filename[0] == ',') {
filename++;
@@ -361,22 +363,22 @@ lbm_mh_parse_mailbox(LibBalsaMailboxMh *
if (lbm_mh_check_filename(filename) == FALSE)
continue;
- if (sscanf(filename, "%d", &fileno) != 1)
+ if (sscanf(filename, "%d", &mh_fileno) != 1)
break; /* FIXME report error? */
- if (fileno > mh->last_fileno)
- mh->last_fileno = fileno;
+ if (mh_fileno > mh->last_fileno)
+ mh->last_fileno = mh_fileno;
if (add_msg_info && mh->messages_info) {
struct message_info *msg_info =
g_hash_table_lookup(mh->messages_info,
- GINT_TO_POINTER(fileno));
+ GINT_TO_POINTER(mh_fileno));
if (!msg_info) {
msg_info = g_new0(struct message_info, 1);
msg_info->local_info.flags = INVALID_FLAG;
g_hash_table_insert(mh->messages_info,
- GINT_TO_POINTER(fileno), msg_info);
+ GINT_TO_POINTER(mh_fileno), msg_info);
g_ptr_array_add(mh->msgno_2_msg_info, msg_info);
- msg_info->fileno = fileno;
+ msg_info->mi_fileno = mh_fileno;
}
msg_info->orig_flags = delete_flag;
}
@@ -394,17 +396,17 @@ static const gchar *LibBalsaMailboxMhRep
static const gchar *LibBalsaMailboxMhRecent = "recent:";
static void
-lbm_mh_set_flag(LibBalsaMailboxMh * mh, guint fileno, LibBalsaMessageFlag flag)
+lbm_mh_set_flag(LibBalsaMailboxMh * mh, guint mh_fileno, LibBalsaMessageFlag flag)
{
struct message_info *msg_info;
- if (!fileno)
+ if (!mh_fileno)
return;
- msg_info = g_hash_table_lookup(mh->messages_info, GINT_TO_POINTER(fileno));
+ msg_info = g_hash_table_lookup(mh->messages_info, GINT_TO_POINTER(mh_fileno));
if (!msg_info) {
- g_print("MH sequence info for nonexistent message %d\n", fileno);
+ g_print("MH sequence info for nonexistent message %d\n", mh_fileno);
return;
}
@@ -433,7 +435,7 @@ lbm_mh_handle_seq_line(LibBalsaMailboxMh
for (seq = sequences; *seq; seq++) {
guint end = 0;
- guint fileno;
+ guint mh_fileno;
if (!**seq)
continue;
@@ -444,11 +446,11 @@ lbm_mh_handle_seq_line(LibBalsaMailboxMh
if (sscanf(line, "%d", &end) != 1)
break; /* FIXME report error? */
}
- if (sscanf(*seq, "%d", &fileno) != 1)
+ if (sscanf(*seq, "%d", &mh_fileno) != 1)
break; /* FIXME report error? */
do
- lbm_mh_set_flag(mh, fileno, flag);
- while (++fileno <= end);
+ lbm_mh_set_flag(mh, mh_fileno, flag);
+ while (++mh_fileno <= end);
}
g_strfreev(sequences);
@@ -580,7 +582,7 @@ lbm_mh_check(LibBalsaMailboxMh * mh, con
sequences = g_strsplit(p, " ", 0);
for (seq = sequences; *seq; seq++) {
guint end = 0;
- guint fileno;
+ guint mh_fileno;
if (!**seq)
continue;
@@ -591,15 +593,15 @@ lbm_mh_check(LibBalsaMailboxMh * mh, con
if (sscanf(p, "%d", &end) != 1)
break; /* FIXME report error? */
}
- if (sscanf(*seq, "%d", &fileno) != 1)
+ if (sscanf(*seq, "%d", &mh_fileno) != 1)
break; /* FIXME report error? */
do {
- p = g_strdup_printf("%s/%d", path, fileno);
+ p = g_strdup_printf("%s/%d", path, mh_fileno);
if (access(p, F_OK) == 0)
retval = TRUE;
g_free(p);
/* One undeleted unread message is enough. */
- } while (!retval && ++fileno <= end);
+ } while (!retval && ++mh_fileno <= end);
}
g_strfreev(sequences);
break;
@@ -686,7 +688,7 @@ libbalsa_mailbox_mh_check(LibBalsaMailbo
else {
g_ptr_array_remove(mh->msgno_2_msg_info, msg_info);
g_hash_table_remove(mh->messages_info,
- GINT_TO_POINTER(msg_info->fileno));
+ GINT_TO_POINTER(msg_info->mi_fileno));
libbalsa_mailbox_local_msgno_removed(mailbox, msgno);
if (renumber > msgno)
/* First message that needs renumbering. */
@@ -763,11 +765,11 @@ lbm_mh_flag_line(struct message_info *ms
if (!(msg_info->local_info.flags & flag))
return;
- if (li->last < msg_info->fileno - 1) {
+ if (li->last < msg_info->mi_fileno - 1) {
lbm_mh_print_line(li);
- li->first = msg_info->fileno;
+ li->first = msg_info->mi_fileno;
}
- li->last = msg_info->fileno;
+ li->last = msg_info->mi_fileno;
}
static gboolean
@@ -849,7 +851,7 @@ libbalsa_mailbox_mh_sync(LibBalsaMailbox
/* free old information */
g_ptr_array_remove(mh->msgno_2_msg_info, msg_info);
g_hash_table_remove(mh->messages_info,
- GINT_TO_POINTER(msg_info->fileno));
+ GINT_TO_POINTER(msg_info->mi_fileno));
libbalsa_mailbox_local_msgno_removed(mailbox, msgno);
} else {
lbm_mh_flag_line(msg_info, LIBBALSA_MESSAGE_FLAG_NEW, &unseen);
@@ -1038,7 +1040,7 @@ libbalsa_mailbox_mh_fetch_message_struct
* we'll just add new lines and let the next sync merge them with any
* existing lines. */
static void
-lbm_mh_update_sequences(LibBalsaMailboxMh * mh, gint fileno,
+lbm_mh_update_sequences(LibBalsaMailboxMh * mh, gint mh_fileno,
LibBalsaMessageFlag flags)
{
FILE *fp;
@@ -1049,13 +1051,13 @@ lbm_mh_update_sequences(LibBalsaMailboxM
return;
if (flags & LIBBALSA_MESSAGE_FLAG_NEW)
- fprintf(fp, "unseen: %d\n", fileno);
+ fprintf(fp, "unseen: %d\n", mh_fileno);
if (flags & LIBBALSA_MESSAGE_FLAG_FLAGGED)
- fprintf(fp, "flagged: %d\n", fileno);
+ fprintf(fp, "flagged: %d\n", mh_fileno);
if (flags & LIBBALSA_MESSAGE_FLAG_REPLIED)
- fprintf(fp, "replied: %d\n", fileno);
+ fprintf(fp, "replied: %d\n", mh_fileno);
if (flags & LIBBALSA_MESSAGE_FLAG_RECENT)
- fprintf(fp, "recent: %d\n", fileno);
+ fprintf(fp, "recent: %d\n", mh_fileno);
fclose(fp);
}
@@ -1072,7 +1074,7 @@ libbalsa_mailbox_mh_add_message(LibBalsa
int fd;
GMimeStream *out_stream;
GMimeFilter *crlffilter;
- int fileno;
+ int mh_fileno;
int retries;
GMimeStream *in_stream;
@@ -1115,14 +1117,14 @@ libbalsa_mailbox_mh_add_message(LibBalsa
libbalsa_mime_stream_shared_unlock(stream);
g_object_unref(in_stream);
- fileno = mh->last_fileno;
+ mh_fileno = mh->last_fileno;
retries = 10;
do {
/* rename tempfile to message-number-name */
char *new_filename;
gint rename_status;
- new_filename = g_strdup_printf("%s/%d", path, ++fileno);
+ new_filename = g_strdup_printf("%s/%d", path, ++mh_fileno);
rename_status = libbalsa_safe_rename(tmp, new_filename);
g_free(new_filename);
if (rename_status != -1)
@@ -1145,9 +1147,9 @@ libbalsa_mailbox_mh_add_message(LibBalsa
"Too high activity?");
return FALSE;
}
- mh->last_fileno = fileno;
+ mh->last_fileno = mh_fileno;
- lbm_mh_update_sequences(mh, fileno,
+ lbm_mh_update_sequences(mh, mh_fileno,
flags | LIBBALSA_MESSAGE_FLAG_RECENT);
return TRUE;
syntax highlighted by Code2HTML, v. 0.9.1