- /* replace string */
- modest_recpt_editor_replace_with_resolved_recipient (recpt_editor,
- &start_iter, &end_iter,
- resolved_addresses,
- contact_id);
- g_free (contact_id);
- g_slist_foreach (resolved_addresses, (GFunc) g_free, NULL);
+ GSList *contact_ids_node, *resolved_addresses_node;
+
+ contact_ids_node = contact_ids;
+ resolved_addresses_node = resolved_addresses;
+
+ while (contact_ids_node != NULL) {
+ gchar *contact_id = (gchar *) contact_ids_node->data;
+ GSList *resolved_addresses_for_contact =
+ (GSList *) resolved_addresses_node->data;
+
+ /* replace string */
+ modest_recpt_editor_replace_with_resolved_recipient
+ (recpt_editor,
+ &start_iter, &end_iter,
+ resolved_addresses_for_contact,
+ contact_id);
+
+ g_free (contact_id);
+ g_slist_foreach (resolved_addresses_for_contact, (GFunc) g_free, NULL);
+ g_slist_free (resolved_addresses_for_contact);
+
+ contact_ids_node = g_slist_next (contact_ids_node);
+ resolved_addresses_node = g_slist_next (resolved_addresses_node);
+ }
+ g_slist_free (contact_ids);