void
xcoffout_declare_function (FILE *file, tree decl, const char *name)
{
- int i;
+ size_t len;
if (*name == '*')
name++;
- else
- for (i = 0; name[i]; ++i)
- {
- if (name[i] == '[')
- {
- char *n = alloca (i + 1);
- strncpy (n, name, i);
- n[i] = '\0';
- name = n;
- break;
- }
- }
+ len = strlen (name);
+ if (name[len - 1] == ']')
+ {
+ char *n = alloca (len - 3);
+ memcpy (n, name, len - 4);
+ n[len - 4] = '\0';
+ name = n;
+ }
/* Any pending .bi or .ei must occur before the .function pseudo op.
Otherwise debuggers will think that the function is in the previous