Suppose I have a string that may look something like this: 

```
  "value" "some other value"   "other value"  "some value"     

```

My goal is to remove the blanks selectively, like so:

```
"value""some other value""other value""some value"

```

such that the blanks remain **only** inside strings contained in quotes: 

```
"some other value"  

```

I have the following function: 

```
void rmChar(char *str, char c)
{
char *src, *dest;
src = dest = str; 

while(*src != '\0') 
{
    if (*src != c)   
    {
        *dest = *src;  
        dest++;        
    }
    src++;         
}
*dest = '\0';        
}

```

which removes all occurrences of char **c** in **str** and I though I should use some more conditional expressions to do the removal only when certain things happen. 

Got any clues?