* Merge branch 'master' of github.com:djcb/mu

This commit is contained in:
djcb 2014-05-13 23:03:08 -07:00
commit 92be7368c8
1 changed files with 13 additions and 9 deletions

View File

@ -1056,15 +1056,19 @@ mu_str_remove_ctrl_in_place (char *str)
if (!iscntrl(*cur))
continue;
/* control char detected... */
gstr = g_string_sized_new (strlen (str));
for (cur = str; *cur; ++cur)
if (!iscntrl (*cur))
g_string_append_c (gstr, *cur);
memcpy (str, gstr->str, gstr->len); /* fits */
g_string_free (gstr, TRUE);
break;
if (isspace(*cur)) {
/* squash special white space into a simple space */
*cur = ' ';
} else {
/* remove other control characters */
gstr = g_string_sized_new (strlen (str));
for (cur = str; *cur; ++cur)
if (!iscntrl (*cur))
g_string_append_c (gstr, *cur);
memcpy (str, gstr->str, gstr->len); /* fits */
g_string_free (gstr, TRUE);
break;
}
}
return str;