#define MODEST_PRESETS_KEY_SECURE_SMTP "SecureSMTP"
#define MODEST_PRESETS_KEY_TRUE "true"
+
ModestPresets*
modest_presets_new (const gchar *presetfile)
{
}
gchar**
-modest_presets_get_providers (ModestPresets *self, gint mcc, gboolean include_globals)
+modest_presets_get_providers (ModestPresets *self, guint mcc,
+ gboolean include_globals)
{
gchar **providers = NULL;
gchar **filtered = NULL;
+ GError *err = NULL;
+ guint i, j, len;
g_return_val_if_fail (self && self->keyfile, NULL);
providers = g_key_file_get_groups (self->keyfile, NULL);
-
+
/* return *all* providers? */
- if (mcc < 0 && include_globals)
+ if (mcc == 0 && include_globals)
return providers;
-
- /* nope: filter them instead */
- filtered = g_new(gchar*, g_strv_length(providers));
-
- if (filtered && providers) {
- int i = 0, j = 0;
- while (providers[i]) {
-
- int this_mcc;
- this_mcc = g_key_file_get_integer (self->keyfile, providers[i],
- MODEST_PRESETS_KEY_MCC,
- NULL);
- if (this_mcc == mcc || (this_mcc == 0 && include_globals)) {
- filtered[j++] = providers[i];
- providers[i] = NULL; /* g_strfreev: leave it alone */
- }
- ++i;
+
+ /* nope: filter them */
+ len = g_strv_length(providers);
+ filtered = g_new(gchar*, len + 1);
+
+ for (i=0, j=0; i != len; ++i) {
+
+ int this_mcc;
+ this_mcc = g_key_file_get_integer (self->keyfile, providers[i],
+ MODEST_PRESETS_KEY_MCC, &err);
+ if (err) {
+ g_strfreev (providers);
+ g_strfreev (filtered);
+ g_error_free (err);
+ g_printerr ("modest: error parsing keyfile: %s\n", err->message);
+ return NULL;
+ }
+
+ if (this_mcc == mcc || (this_mcc == 0 && include_globals)) {
+ filtered[j++] = providers[i];
+ filtered[j] = NULL; /* the array must be NULL-terminated */
+ providers[i] = NULL; /* g_strfreev: leave it alone */
}
}
- g_strfreev (providers);
+ g_strfreev (providers);
return filtered;
}
* modest_presets_get_providers:
* @self: a valid ModestPresets instance
* @mcc: limit the search to providers with this mcc (Mobile Country Code),
- * or <0 to get all
- * @include_globals: include providers without MCC (such as GMail, Yahoo) if @mcc != 0?
+ * or 0 to get all
+ * @include_globals: include (global) providers without MCC (such as GMail, Yahoo)
*
- * get a list of providers
+ * get a list of providers matching certian criteria
*
* Returns: a newly allocated array of strings, or NULL in case of error
* should be freed with g_strvfree
*
**/
-gchar ** modest_presets_get_providers (ModestPresets *self, gint mcc,
- gboolean include_globals);
+gchar ** modest_presets_get_providers (ModestPresets *self, guint mcc,
+ gboolean include_globals);
/**
* modest_presets_get_server:
{
gchar *retval, *cited;
- cited = cite (sent_date, from);
+ g_return_val_if_fail (text, NULL);
+ g_return_val_if_fail (content_type, NULL);
+ g_return_val_if_fail (from, NULL);
- if (!strcmp (content_type, "text/html"))
+ cited = cite (sent_date, from);
+
+ if (content_type && strcmp (content_type, "text/html") == 0)
/* TODO: extract the <body> of the HTML and pass it to
the function */
retval = modest_text_utils_quote_html (text, cited, limit);
else
retval = modest_text_utils_quote_plain_text (text, cited, limit);
-
+
g_free (cited);
return retval;
"<br><br>%s";
const gchar *format;
+ g_return_val_if_fail (text, NULL);
+ g_return_val_if_fail (content_type, NULL);
+ g_return_val_if_fail (from, NULL);
+ g_return_val_if_fail (text, NULL);
+ g_return_val_if_fail (to, NULL);
+ g_return_val_if_fail (subject, NULL);
+
modest_text_utils_strftime (sent_str, 100, "%c", localtime (&sent_date));
if (!strcmp (content_type, "text/html"))
/**
* modest_text_utils_quote:
- * @text: a string which contains the message to quote
- * @from: the sender of the original message
+ * @text: a non-NULL string which contains the message to quote
+ * @from: a non-NULL sender of the original message
+ * @content_type: the non-NULL content type for the quoting, e.g. "text/html"
* @sent_date: sent date/time of the original message
* @limit: specifies the maximum characters per line in the quoted text
*
/**
* modest_text_utils_inlined_text
- * @from: the sender of the original message
+ * @from: the non-NULL sender of the original message
* @sent_date: sent date/time of the original message
- * @to: sent date/time of the original message
- * @subject: sent date/time of the original message
- * @text: sent date/time of the original message
+ * @to:
+ * @subject:
+ * @text:
*
* creates a new string with the "Original message" text prepended to
* the text passed as argument and some data of the header