*end = range_end;
}
+gchar *
+modest_text_utils_address_with_standard_length (const gchar *recipients_list)
+{
+ gchar ** splitted;
+ gchar ** current;
+ GString *buffer = g_string_new ("");
+
+ splitted = g_strsplit (recipients_list, "\n", 0);
+ current = splitted;
+ while (*current) {
+ gchar *line;
+ if (current != splitted)
+ buffer = g_string_append_c (buffer, '\n');
+ line = g_strndup (*splitted, 1000);
+ buffer = g_string_append (buffer, line);
+ g_free (line);
+ current++;
+ }
+
+ g_strfreev (splitted);
+
+ return g_string_free (buffer, FALSE);
+}
+
/* ******************************************************************* */
/* ************************* UTILIY FUNCTIONS ************************ */
const gchar *forbidden_names[] = { /* windows does not like these */
"CON", "PRN", "AUX", "NUL", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6",
"COM7", "COM8", "COM9", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9",
- ".", "..", NULL
+ ".", "..", "cur", "tmp", "new", NULL /* cur, tmp new are reserved for Maildir */
};
/* cannot be NULL */
if (len == 0)
return FALSE;
+ /* cannot start with a dot, vfat does not seem to like that */
+ if (folder_name[0] == '.')
+ return FALSE;
+
/* cannot start or end with a space */
if (g_ascii_isspace(folder_name[0]) || g_ascii_isspace(folder_name[len - 1]))
return FALSE;
return result;
}
+
+gchar *
+modest_text_utils_escape_mnemonics (const gchar *text)
+{
+ const gchar *p;
+ GString *result = NULL;
+
+ if (text == NULL)
+ return NULL;
+
+ result = g_string_new ("");
+ for (p = text; *p != '\0'; p++) {
+ if (*p == '_')
+ result = g_string_append (result, "__");
+ else
+ result = g_string_append_c (result, *p);
+ }
+
+ return g_string_free (result, FALSE);
+}