Lines Matching refs:cp
215 char *demangled, *cp;
221 cp = demangled = xmalloc(strlen(mangled) + 2);
224 *cp++ = '-'; /* for instance method */
226 *cp++ = '+'; /* for class method */
228 *cp++ = '['; /* opening left brace */
229 strcpy(cp, mangled+3); /* tack on the rest of the mangled name */
231 while (*cp && *cp == '_')
232 cp++; /* skip any initial underbars in class name */
234 cp = strchr(cp, '_');
235 if (!cp) /* find first non-initial underbar */
240 if (cp[1] == '_') { /* easy case: no category name */
241 *cp++ = ' '; /* replace two '_' with one ' ' */
242 strcpy(cp, mangled + (cp - demangled) + 2);
245 *cp++ = '('; /* less easy case: category name */
246 cp = strchr(cp, '_');
247 if (!cp)
252 *cp++ = ')';
253 *cp++ = ' '; /* overwriting 1st char of method name... */
254 strcpy(cp, mangled + (cp - demangled)); /* get it back */
257 while (*cp && *cp == '_')
258 cp++; /* skip any initial underbars in method name */
260 for (; *cp; cp++)
261 if (*cp == '_')
262 *cp = ':'; /* replace remaining '_' with ':' */
264 *cp++ = ']'; /* closing right brace */
265 *cp++ = 0; /* string terminator */