New virtual method modest_account_protocol_decode_part_to_stream, to
[modest] / libmodest-dbus-client / libmodest-dbus-client.c
index 874d5db..b483dc7 100644 (file)
@@ -44,24 +44,26 @@ static gchar* get_attachments_string (GSList *attachments)
 {
        if (!attachments)
                return NULL;
-               
+
        gchar *attachments_str = g_strdup("");
-       
+
        GSList *iter = attachments;
        while (iter)
        {
                if (iter->data) {
-                       gchar *tmp = g_strconcat(attachments_str, ",", (gchar *) (iter->data), NULL);
+                       gchar *escaped;
+                       gchar *tmp;
+                       escaped = g_uri_escape_string ((const gchar *) (iter->data), NULL, TRUE);
+                       tmp = g_strconcat(attachments_str, ",", escaped, NULL);
+                       g_free(escaped);
                        g_free(attachments_str);
                        attachments_str = tmp;
                }
-               
                iter = g_slist_next(iter);
        }
-       
        return attachments_str;
 }
-       
+
 /**
  * libmodest_dbus_client_mail_to:
  * @osso_context: a valid #osso_context_t object.
@@ -77,7 +79,7 @@ static gchar* get_attachments_string (GSList *attachments)
 gboolean 
 libmodest_dbus_client_mail_to (osso_context_t *osso_context, const gchar *mailto_uri)
 {
-       osso_rpc_t retval;
+       osso_rpc_t retval = { 0 };
        const osso_return_t ret = osso_rpc_run_with_defaults(osso_context, 
                   MODEST_DBUS_NAME, 
                   MODEST_DBUS_METHOD_MAIL_TO, &retval, 
@@ -117,11 +119,11 @@ gboolean
 libmodest_dbus_client_compose_mail (osso_context_t *osso_context, const gchar *to, const gchar *cc, 
        const gchar *bcc, const gchar* subject, const gchar* body, GSList *attachments)
 {
-       osso_rpc_t retval;
-       
+       osso_rpc_t retval = { 0 };
+
        gchar *attachments_str = get_attachments_string(attachments);
 
-       const osso_return_t ret = osso_rpc_run_with_defaults(osso_context, 
+       const osso_return_t ret = osso_rpc_run_with_defaults(osso_context,
                   MODEST_DBUS_NAME, 
                   MODEST_DBUS_METHOD_COMPOSE_MAIL, &retval, 
                   DBUS_TYPE_STRING, to, 
@@ -131,18 +133,19 @@ libmodest_dbus_client_compose_mail (osso_context_t *osso_context, const gchar *t
                   DBUS_TYPE_STRING, body,
                   DBUS_TYPE_STRING, attachments_str,
                   DBUS_TYPE_INVALID);
-               
+
+       g_free (attachments_str);
+
        if (ret != OSSO_OK) {
                printf("debug: %s: osso_rpc_run() failed.\n", __FUNCTION__);
                return FALSE;
        } else {
                printf("debug: %s: osso_rpc_run() succeeded.\n", __FUNCTION__);
        }
-       
+
        osso_rpc_free_val(&retval);
 
-       g_free (attachments_str);
-       
+
        return TRUE;
 }
 
@@ -161,7 +164,7 @@ libmodest_dbus_client_compose_mail (osso_context_t *osso_context, const gchar *t
 gboolean 
 libmodest_dbus_client_open_message (osso_context_t *osso_context, const gchar *mail_uri)
 {
-       osso_rpc_t retval;
+       osso_rpc_t retval = { 0 };
        const osso_return_t ret = osso_rpc_run_with_defaults(osso_context, 
                   MODEST_DBUS_NAME, 
                   MODEST_DBUS_METHOD_OPEN_MESSAGE, &retval, 
@@ -183,7 +186,7 @@ libmodest_dbus_client_open_message (osso_context_t *osso_context, const gchar *m
 gboolean 
 libmodest_dbus_client_send_and_receive (osso_context_t *osso_context)
 {
-       osso_rpc_t retval;
+       osso_rpc_t retval = { 0 };
        const osso_return_t ret = osso_rpc_run_with_defaults(osso_context, 
                   MODEST_DBUS_NAME, 
                   MODEST_DBUS_METHOD_SEND_RECEIVE, &retval, 
@@ -204,7 +207,7 @@ libmodest_dbus_client_send_and_receive (osso_context_t *osso_context)
 gboolean 
 libmodest_dbus_client_open_default_inbox (osso_context_t *osso_context)
 {
-       osso_rpc_t retval;
+       osso_rpc_t retval = { 0 };
        const osso_return_t ret = osso_rpc_run_with_defaults(osso_context, 
                   MODEST_DBUS_NAME, 
                   MODEST_DBUS_METHOD_OPEN_DEFAULT_INBOX, &retval, 
@@ -226,7 +229,7 @@ gboolean
 libmodest_dbus_client_open_account (osso_context_t *osso_context,
                                    const gchar *account_id)
 {
-       osso_rpc_t retval;
+       osso_rpc_t retval = { 0 };
        const osso_return_t ret =
                osso_rpc_run_with_defaults(osso_context,
                                           MODEST_DBUS_NAME,
@@ -261,7 +264,7 @@ gboolean
 libmodest_dbus_client_delete_message (osso_context_t   *osso_ctx,
                                      const char       *msg_uri)
 {
-       osso_rpc_t    retval;
+       osso_rpc_t    retval = { 0 };
        osso_return_t ret;
        
        ret = osso_rpc_run_with_defaults (osso_ctx,