[evolution-data-server] Fix some compiler warnings.
- From: Chenthill Palanisamy <pchen src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Fix some compiler warnings.
- Date: Wed, 30 Sep 2009 10:17:17 +0000 (UTC)
commit e5b71a09a886781eb59cf56f75f5c65d11d2c456
Author: Chenthill Palanisamy <pchenthill novell com>
Date: Tue Sep 29 12:26:45 2009 +0530
Fix some compiler warnings.
camel/providers/imapx/camel-imapx-server.c | 8 ++--
camel/providers/imapx/camel-imapx-store-summary.h | 2 +-
camel/providers/imapx/camel-imapx-store.c | 54 ++++++++++++++++++--
camel/providers/imapx/camel-imapx-store.h | 2 +-
camel/providers/imapx/camel-imapx-summary.h | 1 +
camel/providers/imapx/camel-imapx-utils.c | 35 +++++++++++++
camel/providers/imapx/camel-imapx-utils.h | 5 ++
7 files changed, 95 insertions(+), 12 deletions(-)
---
diff --git a/camel/providers/imapx/camel-imapx-server.c b/camel/providers/imapx/camel-imapx-server.c
index 6ba3ff5..3379e14 100644
--- a/camel/providers/imapx/camel-imapx-server.c
+++ b/camel/providers/imapx/camel-imapx-server.c
@@ -1066,7 +1066,7 @@ imapx_untagged(CamelIMAPXServer *imap)
mp = camel_mime_parser_new();
camel_mime_parser_init_with_stream(mp, finfo->header);
- mi = camel_message_info_new_from_parser(job->folder->summary, mp);
+ mi = camel_folder_summary_info_new_from_parser(job->folder->summary, mp);
camel_object_unref(mp);
if (mi) {
@@ -1083,7 +1083,7 @@ imapx_untagged(CamelIMAPXServer *imap)
((CamelMessageInfoBase *)mi)->flags = r->server_flags;
((CamelIMAPXMessageInfo *)mi)->server_flags = r->server_flags;
camel_flag_list_copy(&((CamelMessageInfoBase *)mi)->user_flags, &r->server_user_flags);
- ((CamelIMAPXMessageInfo *)mi)->server_flags = r->server_user_flags; /*check this*/
+ ((CamelIMAPXMessageInfo *)mi)->server_user_flags = r->server_user_flags;
break;
}
}
@@ -2517,7 +2517,7 @@ camel_imapx_server_append_message(CamelIMAPXServer *is, CamelFolder *folder, Cam
goto fail;
}
- info = camel_message_info_new_from_message(folder->summary, message, mi);
+ info = camel_folder_summary_info_new_from_message((CamelFolderSummary *)folder->summary, message, NULL);
info->uid = uid;
uid = NULL;
camel_folder_summary_add(folder->summary, info);
@@ -2676,7 +2676,7 @@ camel_imapx_server_sync_changes(CamelIMAPXServer *is, CamelFolder *folder, GPtrA
}
uflags = ((CamelMessageInfoBase *)info)->user_flags;
- suflags = info->server_flags; /*check*/
+ suflags = info->server_user_flags;
while (uflags || suflags) {
int res;
diff --git a/camel/providers/imapx/camel-imapx-store-summary.h b/camel/providers/imapx/camel-imapx-store-summary.h
index b1ff121..7cc60db 100644
--- a/camel/providers/imapx/camel-imapx-store-summary.h
+++ b/camel/providers/imapx/camel-imapx-store-summary.h
@@ -70,7 +70,7 @@ struct _CamelIMAPXStoreSummaryClass {
};
CamelType camel_imapx_store_summary_get_type (void);
-CamelIMAPXStoreSummary *camel_iMAPX_store_summary_new (void);
+CamelIMAPXStoreSummary *camel_imapx_store_summary_new (void);
/* TODO: this api needs some more work, needs to support lists */
CamelIMAPXStoreNamespace *camel_imapx_store_summary_namespace_new(CamelIMAPXStoreSummary *s, const gchar *full_name, gchar dir_sep);
diff --git a/camel/providers/imapx/camel-imapx-store.c b/camel/providers/imapx/camel-imapx-store.c
index 0defd11..b412192 100644
--- a/camel/providers/imapx/camel-imapx-store.c
+++ b/camel/providers/imapx/camel-imapx-store.c
@@ -235,9 +235,10 @@ get_folder_offline (CamelStore *store, const gchar *folder_name,
folder_name = "INBOX";
storage_path = g_strdup_printf("%s/folders", imapx_store->storage_path);
- folder_dir = imap_path_to_physical (storage_path, folder_name);
+ folder_dir = imapx_path_to_physical (storage_path, folder_name);
g_free(storage_path);
- new_folder = camel_imap_folder_new (store, folder_name, folder_dir, ex);
+ /* FIXME */
+ new_folder = camel_imapx_folder_new (store, folder_dir, folder_name);
g_free(folder_dir);
camel_store_summary_info_free((CamelStoreSummary *)imapx_store->summary, si);
@@ -253,7 +254,7 @@ static CamelFolder *
imap_get_folder (CamelStore *store, const char *folder_name, guint32 flags, CamelException *ex)
{
CamelIMAPXStore *istore = (CamelIMAPXStore *)store;
- CamelIMAPXFolder *folder;
+ CamelFolder *folder;
folder = get_folder_offline(store, folder_name, flags, ex);
if (folder == NULL) {
@@ -261,7 +262,7 @@ imap_get_folder (CamelStore *store, const char *folder_name, guint32 flags, Came
return NULL;
}
- return (CamelFolder *)folder;
+ return folder;
}
static CamelFolder *
@@ -420,6 +421,47 @@ folder_info_fill(CamelStore *store, CamelFolderInfo *fi)
}
}
+
+/* folder_name is path name */
+static CamelFolderInfo *
+imapx_build_folder_info (CamelIMAPXStore *imap_store, const gchar *folder_name)
+{
+ CamelURL *url;
+ const gchar *name;
+ CamelFolderInfo *fi;
+
+ fi = camel_folder_info_new ();
+ fi->full_name = g_strdup(folder_name);
+ fi->unread = -1;
+ fi->total = -1;
+
+ url = camel_url_new (imap_store->base_url, NULL);
+ g_free (url->path);
+ url->path = g_strdup_printf ("/%s", folder_name);
+ fi->uri = camel_url_to_string (url, CAMEL_URL_HIDE_ALL);
+ camel_url_free(url);
+ name = strrchr (fi->full_name, '/');
+ if (name == NULL)
+ name = fi->full_name;
+ else
+ name++;
+ if (!g_ascii_strcasecmp (fi->full_name, "INBOX"))
+ fi->name = g_strdup (_("Inbox"));
+ /* Do not localize the rest, these are from a server, thus shouldn't be localized */
+ /*else if (!g_ascii_strcasecmp (fi->full_name, "Drafts"))
+ fi->name = g_strdup (_("Drafts"));
+ else if (!g_ascii_strcasecmp (fi->full_name, "Sent"))
+ fi->name = g_strdup (_("Sent"));
+ else if (!g_ascii_strcasecmp (fi->full_name, "Templates"))
+ fi->name = g_strdup (_("Templates"));
+ else if (!g_ascii_strcasecmp (fi->full_name, "Trash"))
+ fi->name = g_strdup (_("Trash"));*/
+ else
+ fi->name = g_strdup (name);
+
+ return fi;
+}
+
static CamelFolderInfo *
get_folder_info_offline (CamelStore *store, const gchar *top,
guint32 flags, CamelException *ex)
@@ -456,7 +498,7 @@ get_folder_info_offline (CamelStore *store, const gchar *top,
name = camel_imapx_store_summary_path_to_full(imapx_store->summary, top, imapx_store->dir_sep);
}
- pattern = imap_concat(imapx_store, name, "*");
+ pattern = imapx_concat(imapx_store, name, "*");
/* folder_info_build will insert parent nodes as necessary and mark
* them as noselect, which is information we actually don't have at
@@ -483,7 +525,7 @@ get_folder_info_offline (CamelStore *store, const gchar *top,
&&((flags & CAMEL_STORE_FOLDER_INFO_SUBSCRIBED) == 0
|| (si->flags & CAMEL_STORE_INFO_FOLDER_SUBSCRIBED))) {
- fi = imap_build_folder_info(imapx_store, camel_store_info_path((CamelStoreSummary *)imapx_store->summary, si));
+ fi = imapx_build_folder_info(imapx_store, camel_store_info_path((CamelStoreSummary *)imapx_store->summary, si));
fi->unread = si->unread;
fi->total = si->total;
fi->flags = si->flags;
diff --git a/camel/providers/imapx/camel-imapx-store.h b/camel/providers/imapx/camel-imapx-store.h
index 78b8ee0..13cfdbc 100644
--- a/camel/providers/imapx/camel-imapx-store.h
+++ b/camel/providers/imapx/camel-imapx-store.h
@@ -52,7 +52,7 @@ typedef struct {
struct _CamelIMAPXServer *server;
CamelIMAPXStoreSummary *summary; /* in-memory list of folders */
- gchar *namespace, *dir_sep, *base_url, *storage_path;
+ gchar *namespace, dir_sep, *base_url, *storage_path;
/* if we had a login error, what to show to user */
char *login_error;
diff --git a/camel/providers/imapx/camel-imapx-summary.h b/camel/providers/imapx/camel-imapx-summary.h
index 6da7910..06f5b29 100644
--- a/camel/providers/imapx/camel-imapx-summary.h
+++ b/camel/providers/imapx/camel-imapx-summary.h
@@ -51,6 +51,7 @@ typedef struct _CamelIMAPXMessageInfo {
CamelMessageInfoBase info;
guint32 server_flags;
+ struct _CamelFlag *server_user_flags;
} CamelIMAPXMessageInfo;
struct _CamelIMAPXSummary {
diff --git a/camel/providers/imapx/camel-imapx-utils.c b/camel/providers/imapx/camel-imapx-utils.c
index 33f4403..3772ad4 100644
--- a/camel/providers/imapx/camel-imapx-utils.c
+++ b/camel/providers/imapx/camel-imapx-utils.c
@@ -1382,3 +1382,38 @@ unsigned char imapx_is_mask(const char *p)
return v;
}
+gchar *
+imapx_path_to_physical (const gchar *prefix, const gchar *vpath)
+{
+ GString *out = g_string_new(prefix);
+ const gchar *p = vpath;
+ gchar c, *res;
+
+ g_string_append_c(out, '/');
+ p = vpath;
+ while ((c = *p++)) {
+ if (c == '/') {
+ g_string_append(out, "/" SUBFOLDER_DIR_NAME "/");
+ while (*p == '/')
+ p++;
+ } else
+ g_string_append_c(out, c);
+ }
+
+ res = out->str;
+ g_string_free(out, FALSE);
+
+ return res;
+}
+
+gchar *
+imapx_concat (CamelImapStore *imap_store, const gchar *prefix, const gchar *suffix)
+{
+ gsize len;
+
+ len = strlen (prefix);
+ if (len == 0 || prefix[len - 1] == imap_store->dir_sep)
+ return g_strdup_printf ("%s%s", prefix, suffix);
+ else
+ return g_strdup_printf ("%s%c%s", prefix, imap_store->dir_sep, suffix);
+}
diff --git a/camel/providers/imapx/camel-imapx-utils.h b/camel/providers/imapx/camel-imapx-utils.h
index bf3558c..a0299cc 100644
--- a/camel/providers/imapx/camel-imapx-utils.h
+++ b/camel/providers/imapx/camel-imapx-utils.h
@@ -4,6 +4,7 @@
#include <camel/camel-mime-utils.h>
#include <camel/camel-folder-summary.h>
+#include "camel-imapx-store.h"
struct _CamelIMAPXStream;
struct _CamelFlag;
@@ -186,4 +187,8 @@ unsigned char imapx_is_mask(const char *p);
void imapx_utils_init(void);
+/* chen adds from old imap provider - place it in right place */
+gchar *imapx_path_to_physical (const gchar *prefix, const gchar *vpath);
+gchar *imapx_concat (CamelIMAPXStore *imap_store, const gchar *prefix, const gchar *suffix);
+
#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]