/*
- * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2009 Hiroyuki Yamamoto and the Claws Mail team
+ * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
+ * Copyright (C) 1999-2015 Hiroyuki Yamamoto and the Claws Mail team
*
* 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
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
*/
#ifdef HAVE_CONFIG_H
# include "config.h"
+#include "claws-features.h"
#endif
#define _GNU_SOURCE
#include <stdio.h>
+#ifdef USE_PTHREAD
+#include <pthread.h>
+#endif
+
#include "defs.h"
#include <glib.h>
#include <glib/gi18n.h>
#include "alertpanel.h"
#include "statusbar.h"
-#define MSGBUFSIZE 8192
+#define MESSAGEBUFSIZE 8192
#ifdef HAVE_FGETS_UNLOCKED
#define SC_FGETS fgets_unlocked
/* return values: -1 error, >=0 number of msgs added */
{
FILE *mbox_fp;
- gchar buf[MSGBUFSIZE];
+ gchar buf[MESSAGEBUFSIZE];
gchar *tmp_file;
gint msgs = 0;
gint lines;
folder_item_update_freeze();
if (apply_filter)
- dropfolder = folder_get_default_processing();
+ dropfolder = folder_get_default_processing(account->account_id);
else
dropfolder = dest;
if (msgs > 0 && msgs%500 == 0) {
if (printed)
statusbar_pop_all();
- statusbar_print_all(_("Importing from mbox... (%d mails imported)"), msgs);
+ statusbar_print_all(
+ ngettext("Importing from mbox... (%d mail imported)",
+ "Importing from mbox... (%d mails imported)", msgs), msgs);
printed=TRUE;
GTK_EVENTS_FLUSH();
}
empty_lines = 0;
lines = 0;
- more = FALSE;
/* process all lines from mboxrc file */
while (fgets(buf, sizeof(buf), mbox_fp) != NULL) {
int offset;
- /* eof not reached, expect more lines */
- more = TRUE;
-
/* eat empty lines */
if (buf[0] == '\n' || buf[0] == '\r') {
empty_lines++;
}
unfiltered = g_slist_reverse(unfiltered);
- folder_item_move_msgs(dest, unfiltered);
- for (cur = unfiltered; cur; cur = g_slist_next(cur)) {
- MsgInfo *info = (MsgInfo *)cur->data;
- procmsg_msginfo_free(info);
+ if (unfiltered) {
+ folder_item_move_msgs(dest, unfiltered);
+ for (cur = unfiltered; cur; cur = g_slist_next(cur)) {
+ MsgInfo *info = (MsgInfo *)cur->data;
+ procmsg_msginfo_free(info);
+ }
}
g_slist_free(unfiltered);
#if HAVE_FCNTL_H && !defined(G_OS_WIN32)
if (fcntl(lockfd, F_SETLK, &fl) == -1) {
- g_warning("can't fnctl %s (%s)", base, strerror(errno));
+ g_warning("can't fnctl %s (%s)", base, g_strerror(errno));
+ close(lockfd);
return -1;
} else {
fcntled = TRUE;
if (save_errno != 0) {
g_warning("error %d reading mbox: %s\n", save_errno,
- strerror(save_errno));
+ g_strerror(save_errno));
err = TRUE;
}