if (for_cpp && strstr (s, "::") != NULL)
return s;
- while((p=strchr(s,':')))
- *p = r;
+ if (r == '\0') {
+ while ((p=strchr(s,':')) != NULL) {
+ char *t = p;
+ while (*t != '\0') {
+ *t = *(t+1);
+ t++;
+ }
+ }
+ } else {
+ while ((p=strchr(s,':')) != NULL)
+ *p = r;
+ }
if(*s == r) {
p = g_strdup(s+1);
g_free(s);