We need to keep the heading / to properly get an ENOTDIR, and set
file_name rather than change the retryname content.
Also, *result is normally used for the startdir.
err = opentty (result);
goto out;
case '/':
- if (err = opentty (&startdir))
+ if (*result != MACH_PORT_NULL)
+ __mach_port_deallocate (__mach_task_self (), *result);
+ if (err = opentty (result))
goto out;
- memmove (retryname, &retryname[4], strlen(retryname + 4) + 1);
+ startdir = *result;
+ file_name = &retryname[3];
break;
default:
goto bad_magic;