Someone
public text v1 · immutablechar *
strip_invalid_chars(char *string)
{
char *c = string;
char *c2 = string;
char *last_non_space = NULL;
/* c is source, c2 is target */
for(; c && *c; c++)
switch (*c)
{
case '\f':
case '\n':
break;
case ' ':
*c2++ = (*(c + 1) != ' ') ? *c : '\0';
break;
default:
*c2++ = *c;
last_non_space = c2;
break;
}
*c2 = '\0';
if(last_non_space)
*last_non_space = '\0';
return string;
}