aboutsummaryrefslogtreecommitdiffstats
path: root/mail/importers/evolution-mbox-importer.c
diff options
context:
space:
mode:
authorTor Lillqvist <tml@novell.com>2005-12-18 02:35:37 +0800
committerTor Lillqvist <tml@src.gnome.org>2005-12-18 02:35:37 +0800
commitdf6c612eaa2e2f1b1b691d1f56d7079c9700a826 (patch)
tree43b9e2789ee71d340483f87b4c26c9a639dab08a /mail/importers/evolution-mbox-importer.c
parent20085e766ba79c4ecf7da1ba26dc6e09e2c7450d (diff)
downloadgsoc2013-evolution-df6c612eaa2e2f1b1b691d1f56d7079c9700a826.tar
gsoc2013-evolution-df6c612eaa2e2f1b1b691d1f56d7079c9700a826.tar.gz
gsoc2013-evolution-df6c612eaa2e2f1b1b691d1f56d7079c9700a826.tar.bz2
gsoc2013-evolution-df6c612eaa2e2f1b1b691d1f56d7079c9700a826.tar.lz
gsoc2013-evolution-df6c612eaa2e2f1b1b691d1f56d7079c9700a826.tar.xz
gsoc2013-evolution-df6c612eaa2e2f1b1b691d1f56d7079c9700a826.tar.zst
gsoc2013-evolution-df6c612eaa2e2f1b1b691d1f56d7079c9700a826.zip
importers/elm-importer.c importers/evolution-mbox-importer.c
2005-12-17 Tor Lillqvist <tml@novell.com> * importers/elm-importer.c * importers/evolution-mbox-importer.c * importers/evolution-outlook-importer.c * importers/mail-importer.c * importers/netscape-importer.c * importers/pine-importer.c: Use GLib API when applicable. svn path=/trunk/; revision=30843
Diffstat (limited to 'mail/importers/evolution-mbox-importer.c')
-rw-r--r--mail/importers/evolution-mbox-importer.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/mail/importers/evolution-mbox-importer.c b/mail/importers/evolution-mbox-importer.c
index 804a137543..32d0ab60ef 100644
--- a/mail/importers/evolution-mbox-importer.c
+++ b/mail/importers/evolution-mbox-importer.c
@@ -40,6 +40,7 @@
#include <gtk/gtklabel.h>
#include <glib/gi18n.h>
+#include <glib/gstdio.h>
#include <camel/camel-exception.h>
@@ -102,6 +103,7 @@ mbox_supported(EImport *ei, EImportTarget *target, EImportImporter *im)
gboolean ret = FALSE;
int fd, n;
EImportTargetURI *s;
+ char *filename;
if (target->type != E_IMPORT_TARGET_URI)
return FALSE;
@@ -113,7 +115,9 @@ mbox_supported(EImport *ei, EImportTarget *target, EImportImporter *im)
if (strncmp(s->uri_src, "file:///", strlen("file:///")) != 0)
return FALSE;
- fd = open(s->uri_src + strlen("file://"), O_RDONLY);
+ filename = g_filename_from_uri(s->uri_src, NULL, NULL);
+ fd = g_open(filename, O_RDONLY, 0);
+ g_free(filename);
if (fd != -1) {
n = read(fd, signature, 5);
ret = n == 5 && memcmp(signature, "From ", 5) == 0;
@@ -178,6 +182,7 @@ static void
mbox_import(EImport *ei, EImportTarget *target, EImportImporter *im)
{
MboxImporter *importer;
+ char *filename;
/* TODO: do we validate target? */
@@ -189,7 +194,9 @@ mbox_import(EImport *ei, EImportTarget *target, EImportImporter *im)
importer->status_timeout_id = g_timeout_add(100, mbox_status_timeout, importer);
importer->cancel = camel_operation_new(mbox_status, importer);
- mail_importer_import_mbox(((EImportTargetURI *)target)->uri_src+strlen("file://"), ((EImportTargetURI *)target)->uri_dest, importer->cancel, mbox_import_done, importer);
+ filename = g_filename_from_uri(((EImportTargetURI *)target)->uri_src, NULL, NULL);
+ mail_importer_import_mbox(filename, ((EImportTargetURI *)target)->uri_dest, importer->cancel, mbox_import_done, importer);
+ g_free(filename);
}
static void